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

相關文章
相關標籤/搜索