l'appel de Qt QGraphicsView::setViewport avec un QGLWidget

J'ai dérivé de QGLWidget avant, comme suit:

class MyGLWidget : public QGLWidget
{
public:
   //stuff...

   virtual void initializeGL() { /* my custom OpenGL initialization routine */ }

   //more stuff...
};

Cependant, je trouve que si j'essaie d'initialiser un QGraphicsView avec mon custom QGLWidget que la fenêtre d'affichage, initializeGL n'est pas appelée (définition d'un point d'arrêt à l'intérieur de la bibliothèque Qt, ni ne QGLWidget::initializeGL() lors de la création de la plaine).

//initializeGL, resizeGL, paintGL not called
ui.graphicsView->setViewport(new MyGLWidget(QGLFormat(QGL::DoubleBuffer)));

//initializeGL, resizeGL, paintGL *still* not called
ui.graphicsView->setViewport(new QGLWidget(QGLFormat(QGL::DoubleBuffer)));

Où est le bon endroit pour placer le code qui se trouve actuellement dans MyGLWidget::initializeGL()?

OriginalL'auteur moswald | 2009-07-10