我使用BlueGo为msvc2012构建了一个自定义Qt5。
我正在阅读这些例子,他们证明了这一点:
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget window;
window.resize(320, 240);
window.show();
window.setWindowTitle(
QApplication::translate("toplevel", "Top-level widget"));
return app.exec();
}
问题是,QtGui对我来说实际上是一个目录而不是文件所以它不能被包含在内。我正在使用/ qtbase / include /下的include文件。我做错了吗?
答案 0 :(得分:1)
QtGui标头实际存在,只包含QtGui模块中的所有标头。您可以在QtGui目录中找到 。编译器能够找到它,因为在包含路径中指定了QtGui目录。换句话说,它与:
相同#include <QtGui/QtGui>
虽然包含QtGui标题是一种可怕的做法。您应该只包括您实际使用的内容,否则编译时间将无缘无故地增加。但是,对于快速测试等,它非常方便。
答案 1 :(得分:0)
我知道现在有点晚了,但是您可以这样做:
在专业版文件中添加gui
模块和widgets
:
QT += widgets core gui
然后通过替换包含文件
替换
#include <QtGui/QWidget>
#include <QtGui/QApplication>
使用
#include <QWidget>
#include <QApplication>
编译器应该识别它。