QGLWidget updateGL () не обновляется с QTimer? - PullRequest
0 голосов
/ 17 декабря 2010

У меня есть объект 'QTimer', и я хочу многократно обновлять 'QGLWidget' в заданный интервал времени.

Моя проблема в том, что содержимое не обновляется, когда я вызываю метод updateGL ()'QGLWidget'.

Вот как я запускаю QTimer,

rotationTimer=new QTimer();
rotationTimer->setInterval(500);
QObject::connect(rotationTimer, SIGNAL(timeout()), this, SLOT(slotAutoRotate()),Qt::QueuedConnection);

в slotAutoRotate (),

void RzState3DCurveSelect::slotAutoRotate()
{
    RzStateMachine3DCurves *sm3d =(RzStateMachine3DCurves*) this->getStateMachine();
    setYRotation(yRot+5);       
    sm3d->getQGLWidget()->updateGL(); // <---- call updateGL() of the widget.
    //QApplication::processEvents();

}

Я даже вижу отладочную информацию, которую янаписать в методе боковой «paintGL ()», но содержимое не обновляется, если я не наведу курсор мыши на виджет или любое другое взаимодействие.

1 Ответ

2 голосов
/ 25 июля 2011

Вы должны использовать update () вместо updateGL ()

...