Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在libqglviewer中进行动态场景更新_C++_Qt - Fatal编程技术网

C++ 如何在libqglviewer中进行动态场景更新

C++ 如何在libqglviewer中进行动态场景更新,c++,qt,C++,Qt,我正在为一个项目使用libqglviewer,我通过USB从运动捕捉设备读取输入,并在查看器中以人的身份显示。我用查看器的draw()方法绘制opengl的东西,效果很好。但是,当运动控制器发生变化时,我实际上会得到新的位置值,并在查看器中绘制这些值,但在单击查看器屏幕之前,我看不到此更新。是否可以自行更新查看器中的帧?看起来您只需在获得新位置值后立即发布一个updateGL 对于二维绘制,该函数称为update 另外,不要从draw方法内部调用它(请参见libQGLViewer文档中的) 本

我正在为一个项目使用libqglviewer,我通过USB从运动捕捉设备读取输入,并在查看器中以人的身份显示。我用查看器的draw()方法绘制opengl的东西,效果很好。但是,当运动控制器发生变化时,我实际上会得到新的位置值,并在查看器中绘制这些值,但在单击查看器屏幕之前,我看不到此更新。是否可以自行更新查看器中的帧?

看起来您只需在获得新位置值后立即发布一个
updateGL

对于二维绘制,该函数称为
update

另外,不要从draw方法内部调用它(请参见libQGLViewer文档中的)

本说明来自:

注意:通常,您应该避免在paintEvent()内调用update()或repaint()。例如,对paintevent()中的子级调用update()或repaint()会导致未定义的行为;孩子可能会也可能不会得到绘画事件

这可能同样适用于QGLViewer


您也可以使用
重新绘制
,但不建议使用此方法(请参阅)。

您好,谢谢您的回复,我会尝试一下并让您知道!
    void QGLWidget::updateGL () [virtual slot]
    Updates the widget by calling glDraw().