QT5找不到#include解決辦法

老版本:

#include <QApplication>
#include <QString>

忘了哪本書上推薦這樣包含:

#include <QtGui/QApplication>
#include <QtCore/QString>

Qt5代碼時發現:QApplication已經從<QtGui/QApplication>移動到<QtWidgets/QApplication>。而QtGui中多了一個:<QtWidgets/QGuiApplication>

這裏寫圖片描述
如果你的代碼即要用Qt4編譯,又要用Qt5編譯,怎麼辦?
難道只能添加#if…/#else…/#endif?

所以,個人覺得最佳的包含風格仍然是老版的:

#include <QApplication>
#include <QString>
#include <QTextDocument>
#include <QTextCursor>

這將同時兼容Qt4與Qt5!
因爲只要在Qt工程文件中添加了類似這樣的語句:

QT += core gui widgets

則相應頭文件的路徑會自動到搜索列表裏,而無需擔心頭文件找不到的問題。
並且,Qt的類中,是不可能存在重名的。
這不但提高了通用性,還簡化了我們的記憶:我們並不需要知道某個類是屬於哪個模塊的。
只管交給qmake來處理就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章