2013-07-23 3 views
1

Я пытаюсь сделать простой подкласс QGLWidget, используя Qt Creator, я сгенерировал .h и .cpp файл с помощью мастера Qt Creator, который сгенерировал следующий код:подклассов QGLWidget с помощью Qt Creator ошибки

просмотра. каст

#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 

Я добавил QT += opengl в .pro-файл, который избавился от большинства ошибок, но я ль футов с двумя, что я не понимаю:

/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)' 

Ive не изменилось ничего, просто пытаясь собрать то, что Qt дал мне какие-нибудь идеи?

ответ

0

QGLWidget виджет и он принимает я QWidget* как родитель, так что это хорошая идея, чтобы использовать этот тип родителя для своего класса виджета также: explicit Viewport(QWidget *parent = 0); //don't forget to modify the .cpp too

+1

никогда не доверяйте мастеру, спасибо! –

Смежные вопросы