update()或repaint()无法触发paintEvent()

时间:2010-02-16 16:38:17

标签: qt4 repaint

我有一个QScrollArea,它是一个很棒的滚动小部件。我喜欢在各种场合对内容进行更新。

为此,我覆盖了paintEvent(QPaintEvent *)。然后,每当我希望它完成时,我在小部件上调用update()

问题: paintEvent()永远不会被此调用!

到目前为止,我在排查时尝试了什么:

  • 使用repaint()代替update()。应该立即打电话。不幸的是没有。
  • 测试isVisible()updatesEnabled
  • 测试我的覆盖是否正确。 调整窗口大小调用我的函数。只有我的手动更新(),repaint()调用失败。
  • 实施QTimer以每500ms触发update()或repaint()。触发器提供文本输出,不调用该函数。

有人知道接下来要检查什么?什么可以使repaint()调用paintEvent()?

1 个答案:

答案 0 :(得分:25)