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

How can QOpenGLWidget update not result in paintGL events?

我正在记录对 update()paintGL() 的调用,但不知何故,只发生更新。 paintGL 被调用了几次,然后再也没有调用过!这怎么可能? window 可见并且 isVisible() returns 每次调用 update() 时都为真。

具体来说,我从QGLWidget转换为QOpenGLWidget。我将对 updateGL() 的调用替换为对 update() 的调用,并将格式传递给构造函数替换为调用 setFormat()。我在适当的地方添加了对 makeCurrent() 的各种调用。有什么我遗漏的吗?

QOpenGLWidget 似乎是 window 中众多小部件之一时可能会损坏。

我的 QOpenGLWidgetQScrollArea 中,它没有转发 QPaint 事件。