Qt5.1.1
をインストールし、新しいGuiアプリケーションを作成しました。 mainwindow.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。に追加 。プロ これを提出する:
greaterThan(QT_MAJOR_VERSION, 4) {
QT += widgets
DEFINES += HAVE_QT5
}
2.に追加します .h これを提出してください:
#ifdef HAVE_QT5
#include <QtWidgets/QMainWindow>
#else
#include <QtGui/QMainWindow>
#endif