何时在小部件上调用update()

When to call the update() on widgets?

本文关键字:update 调用 小部 何时      更新时间:2023-10-16

何时需要调用update()方法?

我一定要调用它吗?

我所做的一切与我的小部件setGeometry()和raise()。

setGeometry()raise()应在相应的小部件上自动引起paintEvent

我认为大多数Qt自己的小部件调用update()在适当的地方。在自定义小部件上,当某些可见的东西发生变化时,调用update()。例如,如果您有自己的Label类(它不从QLabel继承,因此不使用QLabel的功能来更改文本和/或图像),则每当更改内容时调用update(),以便新的内容将显示在屏幕上。

注意:如果重绘不是真正的时间关键,你不应该在小部件上使用repaint()repaint()在小部件被调用时将paintEvent发送给它,而update()只是在进程下一次到达主循环时将paintEvent排队发送给它。这允许绘制引擎为同一个小部件收集多个paintEvent,并只发出一个组合事件。因此,使用repaint()确实会影响性能。