使用OpenGL的Qt项目设置错误

Settings errors in Qt project with OpenGL

本文关键字:设置 错误 项目 Qt OpenGL 使用      更新时间:2023-10-16

在Qt中使用OpenGL的项目中,我在protected方法中使用initializeGL()语句

 qglClearColor(qtPurple.dark());

在构建项目中出现以下错误:

 ‘qtPurple’ was not declared in this scope
 ‘qglClearColor’ was not declared in this scope

包含的文件是:

 #include <QtGui>
 #include <QtOpenGL>
 #include <QtGui/QColor>

在.pro文件中存在

QT       += core gui, opengl

导致这些错误的错误在哪里?

QGLClearColorQGLWidget的非静态成员。因此,首先必须将<QGLWidget>包含到小部件头文件中,并从QGLWidget继承小部件。然后您就可以在您的小部件的方法中调用它。您得到was not declared in this scope错误,因为qglClearColorQGLWidget范围内。

或者,您可以将其作为小部件对象的常规方法调用。

qtPurple是什么?它似乎不是Qt的一部分。

  1. 在头部文件中添加#include <QtOpenGL/QGLWidget>。你的类应该继承QGLWidget

  2. 似乎您没有声明变量qtPurple,所以检查你的头文件,如果不存在,只需声明它[像这样:QColor qtPurple;]。