我创建了一个Qt Gui应用程序,除其他面板外,还包含QGraphicsView
。现在我的问题是QGraphicsItems
似乎在视觉之外被人为地渲染了,我还没有找到原因。
在此处查看示例图片
如果有帮助,我的所有QObjects / QWidgets堆叠如下:
但是如果没有分割器和tabwidget,还有一个更小的例子,问题仍然存在。在我寻找解决方案时,我发现在QGraphicsView中调用viewport()->update();
可以解决QGraphicsScene中的类似渲染问题,但不能在外部解决。
我发现只有部分解决方案:我注意到当窗口被停用时(即当你点击/ Alt-Tab到另一个程序时)整个应用程序都会更新,QEvent::WindowDeactivate
。这似乎触发了应用程序中所有小部件的级联update()
。实际上,调用update()
解决了面板之间空间的问题,而不是面板本身。我还没有找到一种方法来逐步更新面板。
所以我的问题是:
QGraphicsScene
? 我使用Qt 5.8.0。此问题至少在Mac和Windows上仍然存在。