0

Qt チュートリアルを使用した簡単な OpenGL に従っていますが、問題が発生しました。チュートリアルへのリンクは次のとおりです: リンク

チュートリアルでは、コンテナ ウィジェットをウィンドウに追加し、それを QGLWidget を継承するクラスに昇格させます。プロジェクトを最初に実行したとき、次の行でエラーが発生しました。

MyPanelOpenGL::MyPanelOpenGL(QObject *parent) :
QGLWidget(parent)
 {
    sides = 3;
    radius = 1.0;
  }

エラーは、QObject を QWidget に変換できることを示していました。このコードは QGLWidget のコンストラクタです。引数を QWidget に変更しましたが、今回は ui.h ファイルで別のエラーが発生しました。エラーは次のとおりです。

/home/computer/build-OpenGLTest-Desktop_Qt_5_0_2_GCC_64bit-Debug/ui_mainwindow.h:64: error: undefined reference to `MyPanelOpenGL::MyPanelOpenGL(QObject*)'

パネルの .h ファイルで実装を変更したときに、宣言を変更しました。MyPanelOpenGL.h ファイルは次のとおりです。

#include <QGLWidget>

 class MyPanelOpenGL : public QGLWidget
 {
Q_OBJECT
 public:
   explicit MyPanelOpenGL(QWidget *parent = 0);
 protected:
void initializeGL();
void resizeGL(int w, int h);
void paintGL();
  private:
  int sides;
double radius;
 public slots:
void changeSides(int s);
void changeRadius(double r);

 };

誰が何が起こっているのか知っていますか?ありがとう!

4

0 に答える 0