您的位置:首页 > 数据库 > MySQL

1.虚函数的继承与派生;2.多文件静态对象的定义顺序,3模板注意,4mysql二、十六进制, 4颜色名称,5QSvgRenderer真实rect和viewboxrect转换

2016-07-19 14:42 711 查看
1.对于析构函数,一定要以virtual ~A();来标示所有的子类,父类的析构函数

2.对于静态初始化,由于对函数名命名有严格规定,也就是说若是A。cpp、b。cpp的静态函数,会依靠pro里的cpp的先后顺序来实现

2.2window下linux下对,声明的顺序有不同的标准,不可相同对待

2.3在A文件里定义静态对象a,B文件静态调用a时,会出现定义先后顺序导致的软件启动失败,尤其在linux、window下不同

2.3.2解决办法,可以在A文件定义对象时,定义指针(空) a,B文件静态调用a时,判断对指针赋值,及时析构就好

A.h

class QstandarditemmodelManager {

QstandarditemmodelManager();

~QstandarditemmodelManager();

QStandardItemModel* mCreator();

private:

QStandardItemModel *p;

};

A.cpp

QstandarditemmodelManager::QstandarditemmodelManager()

{

p = 0;

}

QstandarditemmodelManager::~QstandarditemmodelManager()

{

if(p) delete p;

}

QStandardItemModel* QstandarditemmodelManager::mCreator()

{

if(p == 0)

p = new QStandardItemModel;

return p;

}

3.模板类,函数的定义是不能在cpp里执行,只能在。h里面定义

4. SELECT hex(0x10221 & bin(1111)) -》10021

基本没用,&的话,2进制最明显

5.rgb(x,x,x), rgba(x,x,x,x), #xxxxxx, shv(x,x,x)【样式表能获取,QColor无法识别】

5.5QSvgRenderer真实rect和viewboxrect转换

#include
"mainwindow.h"

#include <QApplication>

#include "form.h"

#include <QSvgRenderer>

#include <QtWidgets>

#include <QtDebug>


int main(int argc, char *argv[])

{

QApplication a(argc, argv);

QSvgRenderer render(QString(":/default.svg"));

QRectF rectp(0, 0, 400, 400);

QRectF rect2(100, 100, 200, 200);

QRectF rectd = QRect(QPoint(0,0), render.defaultSize());

QPixmap w(rectp.size().toSize());

QRectF rect1 = QRectF(-rect2.x()*rectd.width()/rect2.width(),

-rect2.y()*rectd.height()/rect2.height(),

(rectd.width()*rectp.width())/rect2.width(),

(rectd.height()*rectp.height())/rect2.height()


);


qDebug() << rect1;

render.setViewBox(rect1);

QPainter p(&w);

render.render(&p);


QLabel l;

l.setPixmap(w);

l.show();




return a.exec();

}


//default: 0,0,wd,hd:   0, 0, 400, 400

//x1, y1, w1, h1:     -200,-200, 800,800


//QPainter: 0,0,wp,hp:  0,0,200,200

//x2, y2, w2, h2:       50, 50, 100, 100


//-x1*w2/wd= x2           x1 = -x2*wd/w2

//-y1*h2/hd= y2           y1 = -y2*hd/h2

//wd/w1*wp = w2           w1 = (wd*wp)/w2

//hd/h1*hp = h2           h1 = (hd*hp)/h2


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息