首页 > 解决方案 > 如何在 QStackedLayout 中强制渲染底层小部件

问题描述

我有一个带有一些数据的小部件。每次重新加载数据(这种情况经常发生)时,都需要一些时间来重新绘制导致明显闪烁的小部件。所以我正在尝试实现某种双缓冲。我在 QStackedLayout 中使用了两个小部件,而不是一个小部件(堆叠模式设置为 StackAll)。所以我可以将数据加载到不可见的小部件中,并在重绘完成后切换到它。问题是在底层小部件中永远不会调用paintEvent(),因为它被可见的小部件完全遮蔽,即使我手动调用update()或repaint()也是如此。如果它被另一个小部件完全重叠,有什么方法可以强制重新绘制小部件?

标签: c++qt

解决方案


推荐阅读