QTimer定时器重启
时间: 2023-10-29 08:04:43 浏览: 104
如果你想在定时器超时后重启 QTimer 定时器,你可以在定时器超时的槽函数中调用 QTimer 的 start() 函数来启动定时器。下面是一个简单的例子:
```python
from PyQt5.QtCore import QTimer, Qt
from PyQt5.QtWidgets import QApplication, QLabel, QWidget, QVBoxLayout
class MainWindow(QWidget):
def __init__(self):
super().__init__()
# 创建一个定时器,每隔 1 秒钟触发一次 timeout 信号
self.timer = QTimer(self)
self.timer.setInterval(1000)
self.timer.timeout.connect(self.on_timer_timeout)
# 创建一个标签来显示计数器的值
self.label = QLabel(str(0), self)
self.label.setAlignment(Qt.AlignCenter)
# 创建一个垂直布局,并将标签添加到其中
layout = QVBoxLayout(self)
layout.addWidget(self.label)
# 启动定时器
self.timer.start()
def on_timer_timeout(self):
# 定时器超时时更新标签的值
count = int(self.label.text())
count += 1
self.label.setText(str(count))
# 重启定时器
self.timer.start()
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在上面的例子中,我们创建了一个定时器,并将其设置为每隔 1 秒钟触发一次 timeout 信号。在 timeout 信号的槽函数中,我们首先更新标签的值,然后调用 QTimer 的 start() 函数来重启定时器。这样,定时器就会在每隔 1 秒钟触发一次 timeout 信号,并且不会停止。
阅读全文