Qt QOpenGLWidget 在哪里?

Where is Qt QOpenGLWidget?

我正在尝试编写一个使用 QOpenGLWidget 的 C++ 应用程序,但 Qt Creator 在这一行给出了“'QOpenGLWidget' 找不到文件”错误:

#include <QOpenGLWidget>

文档说 QOpenGLWidget 是在 Qt 5.4 中引入的,我相信我是 运行 Qt 5.12.1; qmake --version 给出:

QMake version 3.1
Using Qt version 5.12.1 in /home/oreilly/Qt5.12.1/5.12.1/gcc_64/lib

另外,在Qt Creator的菜单Tools -> Options... -> Kits中也提示Qt 5.12.1。 Qt Creator 允许我使用 #include <QOpenGLWindow>(Qt 5.4 中也与 QOpenGLWidget 一起引入),编译和 link OpenGL 应用程序没有错误。

我做错了什么? QOpenGLWidget 在哪里?

QOpenGLWidget 不是主要 QtCore/QtWidgets 库的一部分;相反,它是一个单独的 (QtOpenGL) 库的一部分,其 headers 默认情况下位于不属于 Qt include-path 的目录中。

幸运的是,很容易将QtOpenGL的headers添加到include-path;只需将以下行插入您的 .pro 文件:

QT += opengl 

... 然后 运行 qmake 来更新你的 Makefile/Project 文件,你应该可以使用 OpenGL 类.