pyqt多个定时器任务并行执行
时间: 2023-07-05 19:33:05 浏览: 294
在PyQt中,可以使用QTimer类来实现定时器功能。如果要执行多个定时器任务并行执行,可以使用多个QTimer对象,每个QTimer对象负责一个定时器任务。以下是一个示例代码:
```python
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtCore import QTimer
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.timer1 = QTimer(self)
self.timer1.timeout.connect(self.on_timer1)
self.timer1.start(5000)
self.timer2 = QTimer(self)
self.timer2.timeout.connect(self.on_timer2)
self.timer2.start(10000)
def on_timer1(self):
print("Timer 1 executed")
def on_timer2(self):
print("Timer 2 executed")
if __name__ == '__main__':
app = QApplication([])
widget = MyWidget()
widget.show()
app.exec_()
```
上述代码中,我们创建了两个QTimer对象 `timer1` 和 `timer2`,并分别使用 `timeout` 信号连接到对应的槽函数 `on_timer1` 和 `on_timer2`。然后,我们分别使用 `start()` 函数启动两个定时器。
在这个示例中,定时器1每隔5秒钟执行一次,定时器2每隔10秒钟执行一次。当定时器超时时,将会调用相应的槽函数。
注意:如果定时器任务执行的时间较长,可能会阻塞主线程,影响GUI的响应性能。可以考虑将定时器任务放到子线程中执行。
阅读全文