我正试图使用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