QT总结
作为一个qt(c++/linux/windows)开发工程师,把自己在工作中遇到的一些qt问题持续总结给大家,一起分享:
一、隐藏鼠标:qapplication::setoverridecursor(qt::blackcursor);
二、条件编译debug和release:
config +=debug_and_release
config(debug,debug|release)
{
//生成位置
destdir+=$$pwd/debug
//库依赖
libs += -l$$pwd/ -lprotobuf
}else{
}
三、屏蔽release版本中所有qdebug()提示信息,可以在pro文件中添加defines+=qt_no_debug_output
四、窗体至于父窗体之上:qwidget->raise();这块注意区分qdialog的模态和非模态
五、中文显示乱码:qstringliteral("中文");或者qstring::tolocal8bit();
六、获取linux的hostname:qhostinfo::localhostname();
七、子控件不受父控件的影响:qlabel->setstylesheet("#objectname{background-color:black}");这里注意用#objectname
八、qt信号槽不支持类型的情况下需要测试此类型:
qregistermetatype<std::string> (“std::string”);
qregistermetatype<std::string> (“std::string&”);
九、用一个pro工程加载和编译若干个工程,这样加载一个工程即可全部加载,无需一个个打开添加pro,编译一样:
新建一个alllib工程,在alllib.pro里面添加:
template = subdirs
subdirs += ../tmp1
subdirs += ../tmp2
。。。。。。。。。
十、error:"qapplication:no such file or direction":
qt5里不再用qtgui模块,而是使用qtwidgets模块
解决方法:在pro文件里面添加:greaterthan(qt_major_version, 4): qt += widgets