做为一个QT(C++/linux/windows)开发工程师,把本身在工做中遇到的一些QT问题持续总结给你们,一块儿分享:linux
1、隐藏鼠标:QApplication::setOverrideCursor(Qt::BlackCursor);windows
2、条件编译debug和release:ide
CONFIG +=debug_and_release测试
CONFIG(debug,debug|release)ui
{spa
//生成位置debug
DESTDIR+=$$PWD/debug开发
//库依赖get
LIBS += -L$$PWD/ -lprotobufstring
}else{
}
3、屏蔽release版本中全部QDebug()提示信息,能够在pro文件中添加DEFINES+=QT_NO_DEBUG_OUTPUT
4、窗体至于父窗体之上:QWidget->raise();这块注意区分QDialog的模态和非模态
5、中文显示乱码:QStringLiteral("中文");或者QString::toLocal8Bit();
6、获取linux的hostname:QHostInfo::localHostName();
7、子控件不受父控件的影响:QLabel->setStyleSheet("#objectName{background-color:black}");这里注意用#objectName
8、QT信号槽不支持类型的状况下须要测试此类型:
qRegisterMetaType<std::string> (“std::string”);
qRegisterMetaType<std::string> (“std::string&”);
9、用一个pro工程加载和编译若干个工程,这样加载一个工程便可所有加载,无需一个个打开添加pro,编译同样:
新建一个Alllib工程,在Alllib.pro里面添加:
TEMPLATE = subdirs
SUBDIRS += ../tmp1
SUBDIRS += ../tmp2
。。。。。。。。。
10、error:"QApplication:No Such file or direction":
Qt5里再也不用QtGui模块,而是使用QtWidgets模块
解决方法:在pro文件里面添加:greaterThan(QT_MAJOR_VERSION, 4): QT += widgets