QopenGLWidget paintGL仅由resizeGL触发

QopenGLWidget paintGL is only triggered by resizeGL

本文关键字:触发 resizeGL 仅由 paintGL QopenGLWidget      更新时间:2023-10-16

我已经实现了自己的QOpenGLWidget类。当新的视频帧到达或调用resizeGL时,我会使用update()。

一开始,视频帧通过paintGL显示得很好。但一段时间后(<3分钟),paintGL仅由resizeGL触发,而不是由新视频帧的update()触发。

我发现其他人也遇到了同样的问题。但目前尚未公布解决方案。QOpenGLWidget仅在调整大小时更新

QOpenGLWidget更新如何不导致paintGL事件?

QOpenGLWidget在更新()时停止重新绘制

更新:当我只呈现一个QOpenGLWidget时,一切都很好。但是当两个或更多时,大一点的很快就会结冰。

终于找到了答案。

我必须在主线程中调用qt的update()方法。您可以通过QT的sig插槽来实现。

我只是想知道,为什么update()必须在主线程中调用,这是QT错误吗?