C++ QGLWidget updateGL()不';你不能用QTimer更新吗?
我有一个'QTimer'对象,希望在给定的时间间隔内重复更新'QGLWidget' 我的问题是,当我调用'QGLWidget'的updateGL()方法时,内容不会得到更新 下面是我如何初始化QTimer的C++ QGLWidget updateGL()不';你不能用QTimer更新吗?,c++,qt,qt4,timer,C++,Qt,Qt4,Timer,我有一个'QTimer'对象,希望在给定的时间间隔内重复更新'QGLWidget' 我的问题是,当我调用'QGLWidget'的updateGL()方法时,内容不会得到更新 下面是我如何初始化QTimer的 rotationTimer=new QTimer(); rotationTimer->setInterval(500); QObject::connect(rotationTimer, SIGNAL(timeout()), this, SLOT(slotAutoRotate()),Qt
rotationTimer=new QTimer();
rotationTimer->setInterval(500);
QObject::connect(rotationTimer, SIGNAL(timeout()), this, SLOT(slotAutoRotate()),Qt::QueuedConnection);
在slotAutoRotate()中
void RzState3DCurveSelect::slotutorotate()
{
RzStateMachine3DCurves*sm3d=(RzStateMachine3DCurves*)此->getStateMachine();
坐骨神经痛(yRot+5);
sm3d->getQGLWidget()->updateGL();//你必须使用update()而不是updateGL()试试sm3d->getQGLWidget()->update();在updateGL()之后谢谢Frank,你救了我一天!成功了..你能给我一个答案让我把它标记为正确吗?再次感谢。
void RzState3DCurveSelect::slotAutoRotate()
{
RzStateMachine3DCurves *sm3d =(RzStateMachine3DCurves*) this->getStateMachine();
setYRotation(yRot+5);
sm3d->getQGLWidget()->updateGL(); // <---- call updateGL() of the widget.
//QApplication::processEvents();
}