QT总结

做为一个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

相关文章
相关标签/搜索