2013-07-23 1 views
1

Je suis en train de faire une sous-classe simple QGLWidget utilisant Qt Creator, je généré le fichier .h et .cpp à l'aide de l'Assistant Qt Creator qui a généré le code suivant:Subclassing QGLWidget utilisant erreur Qt Creator

fenêtre

. 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 

j'ajouté QT += opengl au fichier .pro qui est débarrassé de la plupart des erreurs, mais je suis le ft avec deux que je ne comprends pas:

/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 rien changé, juste essayer de compiler ce que Qt m'a donné, des idées?

Répondre

0

QGLWidget est un widget et il faut suis QWidget* en tant que parent, il est donc une bonne idée d'utiliser ce genre de parent pour votre classe widget aussi: explicit Viewport(QWidget *parent = 0); //don't forget to modify the .cpp too

+1

jamais confiance à l'assistant, merci! –