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来处理就可以了。

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