在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
导致这些错误的错误在哪里?
答案 0 :(得分:2)
QGLClearColor
是QGLWidget
的非静态成员。首先,您必须将<QGLWidget>
包含在窗口小部件头文件中,并从QGLWidget继承您的窗口小部件。然后,您将能够在窗口小部件的方法中调用它。您收到was not declared in this scope
错误,因为qglClearColor
位于QGLWidget
范围内。
或者,您可以将其称为窗口小部件对象的常规方法。
什么是qtPurple
?似乎它不是Qt的一部分。
答案 1 :(得分:1)
在您的头文件中添加#include <QtOpenGL/QGLWidget>
。您的班级应该继承QGLWidget
。
您似乎尚未声明变量qtPurple
,因此请检查
你的头文件,如果不存在,只需声明它[如:QColor qtPurple;
]。