【发布时间】:2015-08-25 06:31:02
【问题描述】:
我正在记录对update() 和paintGL() 的调用,但不知何故,只发生了更新。 paintGL 被调用了几次,然后再也没有!这怎么可能?该窗口是可见的,并且每次调用 update() 时,isVisible() 都会返回 True。
具体来说,我从QGLWidget 转换为QOpenGLWidget。我将调用updateGL() 替换为调用update(),并将格式传递给构造函数替换为调用setFormat()。我在适当的地方添加了对makeCurrent() 的各种调用。我有什么遗漏吗?
当QOpenGLWidget 是窗口中的许多小部件之一时,它似乎可能会被破坏。
【问题讨论】:
-
我认为该窗口对用户可见?
-
@FrankOsterfeld:嗯。每次调用 update 时,
isVisible都会返回 true。 -
Neil:我的意思是,如果窗口实际上是可见的,即在屏幕内部和前景中。
-
@FrankOsterfeld:是的,它是可见的,但它充满了垃圾,因为paintGL 似乎没有工作。