错误:"QtGui/QMainWindow":没有这样的文件或目录:Qt 5.1.1



我已经安装了Qt5.1.1并创建了一个新的Gui应用程序。主窗口.h中的代码显示:

#if QT_VERSION >= 0x050000
#include <QtWidgets/QMainWindow>
#else
#include <QtGui/QMainWindow>
#endif

我认为这很好。但当我运行它时,我有这个:

error: C1083: Cannot open include file: 'QtGui/QMainWindow': No such file or directory

我知道何时更换

#if QT_VERSION >= 0x050000
#include <QtWidgets/QMainWindow>
#else
#include <QtGui/QMainWindow>
#endif

#include <QtWidgets/QMainWindow>

它是有效的。

我只是想知道为什么默认代码是错误的,以及如何使这个错误的代码正确。

您可能还有其他选择。

您也可以像一样在.pro文件中添加widgets

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

通过在.pro文件中添加这一行,现在您只需要担心Qt版本,并包括像<QtGui/QMainWindow><QtWidgets/QMainWindow> 这样的文件

希望它对你有用。

我也遇到了同样的问题,但有细微差别。如果该代码在.h文件中:

    #if QT_VERSION >= 0x050000
    #include <QtWidgets/QMainWindow>
    #else
    #include <QtGui/QMainWindow>
    #endif

出现错误。QT_VERSION似乎没有正确定义。但是,如果我将此代码移到.cpp文件中,就可以了。问题解决如下:
1.将以下内容添加到.pro文件中:

    greaterThan(QT_MAJOR_VERSION, 4) {
        QT += widgets
        DEFINES += HAVE_QT5
    }

2.将以下内容添加到.h文件中:

    #ifdef HAVE_QT5
    #include <QtWidgets/QMainWindow>
    #else
    #include <QtGui/QMainWindow>
    #endif

相关内容

  • 没有找到相关文章

最新更新