【问题标题】:QopenGLWidget paintGL is only triggered by resizeGLQopenGLWidget paintGL 仅由 resizeGL 触发
【发布时间】:2019-01-16 02:05:16
【问题描述】:

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

在开始时,paintGL 显示视频帧正常。但过了一段时间(

我发现其他人也遇到了同样的问题。但没有发布任何解决方案。 QOpenGLWidget only updates when resized

How can QOpenGLWidget update not result in paintGL events?

QOpenGLWidget stops repainting on update()

更新: 当我只渲染一个 QOpenGLWidget 时,一切都很好。但当两个或更多时, 较大的很快就会冻结。

【问题讨论】:

    标签: c++ qt opengl opengl-es qt5


    【解决方案1】:

    终于,我找到了答案。

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

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

    【讨论】:

    • 所有类型的 GUI 工作都必须在主线程中完成才能正常工作。所以这可能不是 Qt Bug。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    相关资源
    最近更新 更多