pyqt5怎么随时刷新
时间: 2023-10-19 17:05:39 浏览: 35
在 PyQt5 中,可以使用 `update()` 函数来请求重新绘制窗口。该函数会触发 `paintEvent()` 事件,从而实现窗口的刷新。
例如,你可以创建一个自定义的 `QWidget` 子类,并在其中实现 `paintEvent()` 函数来绘制窗口。然后,在需要刷新窗口的地方调用 `update()` 函数即可。
下面是一个简单的示例代码:
```python
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QPainter, QColor
from PyQt5.QtCore import Qt
import sys
import time
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(100, 100, 300, 200)
def paintEvent(self, event):
qp = QPainter()
qp.begin(self)
qp.setPen(Qt.red)
qp.setBrush(QColor(255, 0, 0, 50))
qp.drawRect(50, 50, 200, 100)
qp.end()
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = MyWidget()
widget.show()
while True:
widget.update()
time.sleep(1)
sys.exit(app.exec_())
```
该程序创建了一个自定义的 `QWidget` 子类,并在其中实现了一个简单的绘制函数 `paintEvent()`,每秒钟调用一次 `update()` 函数,从而实现了窗口的随时刷新。