0

QtでOpenGLを使用するプロジェクトでは、保護されたメソッド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

これらのエラーの原因となる間違いはどこにありますか?

4

2 に答える 2

2

QGLClearColorの非静的メンバーですQGLWidget<QGLWidget>そのため、最初にウィジェット ヘッダー ファイルにインクルードし、QGLWidget からウィジェットを継承する必要があります。その後、ウィジェットのメソッドで呼び出すことができます。スコープ内にwas not declared in this scopeあるため、エラーが発生qglClearColorします。QGLWidget

または、ウィジェット オブジェクトの通常のメソッドとして呼び出すこともできます。

とは何qtPurpleですか?Qtの一部ではないようです。

于 2013-01-19T08:10:18.213 に答える
1
  1. #include <QtOpenGL/QGLWidget>ヘッドファイルに追加します。クラスは継承する必要がありQGLWidgetます。

  2. 変数qtPurpleを宣言していないようです。ヘッド ファイルを確認し、存在しない場合は [次のようにQColor qtPurple;] 宣言してください。

于 2013-01-19T08:10:00.060 に答える