QT一些小技巧 - guogeWS/tools GitHub Wiki

1.Qml中可以使用同名的函数实现函数重载。在写模板组件时会方便很多。
2.相对于PropertyAnimation,Animator可以在线程中执行,不会卡顿,但使用有很多限制,只能作为进度条使用。
3.C++中delete未赋值的指针会出现问题,需要注意在删除前是否为NULL或已赋值。直接声明但未赋值的指针直接删除是有问题的。
4.如果想要在linux系统下脱离界面运行程序,可以设置export QT_QPA_PLATFORM='offscreen'或者export DISPLAY=:0。
5.结构体内存字节对齐的坑:在qt中,结构体是默认以4个字节对齐存储在内存中的,会在中间填充对齐字节,这样如果使用memset()就会出现错误。
解决方法:
#pragma pack(push) //保存对齐
#pragma pack(1) //设定为1字节对齐
struct test{
};
#pragma pack(pop) //退出
6.QProcess中使用sudo的方法:sh -c "echo 当前用户密码 | sudo -S 你的命令"
7.QProcess在windows中调用cmd.exe执行程序:process.start("cmd.exe", QStringList() << "/c" << "调用程序的完整绝对路径");
8.Qt项目不要存储在中文路径下,qmake可能会出现问题。 9.Qt使用cmake命令编译的方式 参考链接 https://doc.qt.io/qt-5/cmake-get-started.html