使用OpenGL在Qt项目中设置错误

时间:2013-01-19 07:40:44

标签: c++ qt opengl

在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

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

2 个答案:

答案 0 :(得分:2)

QGLClearColorQGLWidget的非静态成员。首先,您必须将<QGLWidget>包含在窗口小部件头文件中,并从QGLWidget继承您的窗口小部件。然后,您将能够在窗口小部件的方法中调用它。您收到was not declared in this scope错误,因为qglClearColor位于QGLWidget范围内。

或者,您可以将其称为窗口小部件对象的常规方法。

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

答案 1 :(得分:1)

  1. 在您的头文件中添加#include <QtOpenGL/QGLWidget>。您的班级应该继承QGLWidget

  2. 您似乎尚未声明变量qtPurple,因此请检查 你的头文件,如果不存在,只需声明它[如:QColor qtPurple;]。