QT开发技巧
状态机:
QStateMachine *pMachine = new QStateMachine();
QPushButton *pState = new QPushButton;
QState *off = new QState();
off->assignProperty(pState, "text", "Off");
off->setObjectName("off");
QState *on = new QState();
on->setObjectName("on");
on->assignProperty(pState, "text", "On");
off->addTransition(pState, &QPushButton::clicked, on);
on->addTransition(pState, &QPushButton::clicked, off);
pMachine->addState(off);
pMachine->addState(on);
pMachine->setInitialState(off);
pMachine->start();
QCompleter 自动补全,用于combox或者lineedit
Qt的双缓冲机制:
直接绘制到控件会有闪烁,所谓双缓冲机制,就是先绘制到一张图片上,在一次性将图片绘制到控件上
Qt图片水平、垂直翻转:
QImage->mirrored(true,false);//水平翻转
QImage->mirrored(false, true);//垂直翻转
Qt实现控件旋转角度旋转:
QMatrix matrix;
//88度角
matrix.rotate(88);
QImage ->transformed(matrix);
Qt操作office、pdf软件:
QAxWidget
Qt获取系统环境变量:
QProcess::systemEnvironment()
11、 判断网络连接情况
1) 加载wininet.dll
2) (ConnectFun)myLib.resolve(“InternetGetConnectedState”);
//获取dll库中的函数InternetGetConnectedState函数地址
安全读写文件(生成临时文件,不会数据丢失:
QSaveFile
Qt计算时间戳:
QElapsedTimer