QT5找不到#include<QApplication>头文件在哪里
我在王珊找了很多资料包括#include<QtGui/QApplication>这种加载方式试过了,就是不能使用!不知道有没有什么办法呢?
我的系统是ubuntu12。04 使用的是Qtcreator5
Qt5还这样啊
以前用的Qt4系列 装完就可以了 自己能配置环境变量
如果没找到 你就搜下 qapplication.h在哪个目录 然后自己配置下环境变量吧
QApplication已不在QtGui下了,所以不要再写<QtGui/QApplication>,而且这种写法不建议,因为大的版本变迁可能会改变,直接<QApplication>这种形式
另外.pro里Qt += widgets,参照以前Qt版本的代码学习时,一定得看看和现有版本之间有无太大的差异
版本:
C/C++ code?12 #include <QApplication> #include <QString>
忘了哪本书上推荐这样包含:
C/C++ code?12 #include <QtGui/QApplication> #include <QtCore/QString>
而今天在测试Qt5代码时发现:QApplication已经从原来的<QtGui/QApplication>移动到<QtWidgets/QApplication>了。
而QtGui中多了一个:<QtWidgets/QGuiApplication>
如果你的代码即要用Qt4编译,又要用Qt5编译,怎么办?
难道只能添加#if.../#else.../#endif?
所以,个人觉得最佳的包含风格仍然是老版的:
C/C++ code?1234 #include <QApplication> #include <QString> #include <QTextDocument> #include <QTextCursor>
这将同时兼容Qt4与Qt5!
因为只要在Qt工程文件中添加了类似这样的语句:
C/C++ code?1 QT += core gui widgets
则相应头文件的路径会自动到搜索列表里,而无需担心头文件找不到的问题。
并且,Qt的类中,是不可能存在重名的。
这不但提高了通用性,还简化了我们的记忆:我们并不需要知道某个类是属于哪个模块的。
只管交给qmake来处理就可以了。