针对于QT5下找不到QApplication头文件的问题界解决

来源:互联网 发布:react.js主要功能 编辑:程序博客网 时间:2024/04/28 05:07

感谢前辈的总结,这里用了CTRL+C CTRL+V进行操作

原地址 http://bbs.csdn.net/topics/380130389

老版本:

C/C++ code
?
1
2
#include <QApplication>
#include <QString>


忘了哪本书上推荐这样包含:
C/C++ code
1
2
#include <QtGui/QApplication>
#include <QtCore/QString>

而今天在测试Qt5代码时发现:QApplication已经从原来的<QtGui/QApplication>移动到<QtWidgets/QApplication>了。
而QtGui中多了一个:<QtWidgets/QGuiApplication>

如果你的代码即要用Qt4编译,又要用Qt5编译,怎么办?
难道只能添加#if.../#else.../#endif?

所以,个人觉得最佳的包含风格仍然是老版的:
C/C++ code
1
2
3
4
#include <QApplication>
#include <QString>
#include <QTextDocument>
#include <QTextCursor>


这将同时兼容Qt4与Qt5!
因为只要在Qt工程文件中添加了类似这样的语句:
C/C++ code
1
QT += core gui widgets

则相应头文件的路径会自动到搜索列表里,而无需担心头文件找不到的问题。
并且,Qt的类中,是不可能存在重名的。
这不但提高了通用性,还简化了我们的记忆:我们并不需要知道某个类是属于哪个模块的。
只管交给qmake来处理就可以了。