使用Qt Creator子类QGLWidget错误



我正试图使用Qt-creator制作QGLWidget的一个简单子类,我使用Qt-creator向导生成了.h和.cpp文件,该向导生成了以下代码:

viewport.cpp

#include "viewport.h"
Viewport::Viewport(QObject *parent) :
    QGLWidget(parent)
{
}

viewport.h

#ifndef VIEWPORT_H
#define VIEWPORT_H
#include <QGLWidget>
class Viewport : public QGLWidget
{
    Q_OBJECT
public:
    explicit Viewport(QObject *parent = 0);
signals:
public slots:
};
#endif // VIEWPORT_H

我在.pro文件中添加了QT += opengl,它消除了大部分错误,但我只剩下两个我不理解的错误:

/projects/tree_gen/qt_project/tree_gen-build-desktop-Qt_4_8_4_in_PATH__System__Debug/../tree_gen/viewport.cpp:4: error: invalid conversion from 'QObject*' to 'QWidget*'
/projects/tree_gen/qt_project/tree_gen-build-desktop-Qt_4_8_4_in_PATH__System__Debug/../tree_gen/viewport.cpp:4: error:   initializing argument 1 of 'QGLWidget::QGLWidget(QWidget*, const QGLWidget*, Qt::WindowFlags)'

我没有改变任何东西,只是试图编译Qt给我的东西,有什么想法吗?

QGLWidget是一个小部件,它以am QWidget*为父级,因此对小部件类也使用这种父级是个好主意:explicit Viewport(QWidget *parent = 0); //don't forget to modify the .cpp too

相关内容

  • 没有找到相关文章

最新更新