Pyqt5 qtimer
时间: 2024-09-12 16:08:43 浏览: 51
PyQt5 是一个用于创建图形用户界面的 Python 绑定和工具包,它使用 Qt 库。QTimer 是 PyQt5 中的一个类,用于提供定时器功能,它可以在指定的时间间隔后发射一个 timeout 信号。这个信号可以被用来触发一个槽函数,从而执行定时任务。
QTimer 可以设置为单次(只触发一次)或周期性(循环触发)。使用时,通常会将定时器的 timeout 信号连接到一个槽函数上。在槽函数中,你可以编写需要定时执行的代码。
下面是一个简单的例子,展示如何使用 PyQt5 的 QTimer:
```python
import sys
from PyQt5.QtCore import QTimer
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout, QLCDNumber
class Window(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建 LCD 数码显示器
self.lcd = QLCDNumber(self)
# 创建按钮
self.button = QPushButton('启动定时器', self)
self.button.clicked.connect(self.startTimer)
# 创建垂直布局并添加控件
layout = QVBoxLayout()
layout.addWidget(self.lcd)
layout.addWidget(self.button)
self.setLayout(layout)
self.setWindowTitle('QTimer 示例')
self.show()
def startTimer(self):
# 创建定时器对象,设置定时器
self.timer = QTimer(self)
# 设置定时器在 1000 毫秒后触发 timeout 信号
self.timer.setInterval(1000)
# 将定时器的 timeout 信号连接到槽函数
self.timer.timeout.connect(self.updateLCD)
# 启动定时器
self.timer.start()
def updateLCD(self):
# 更新 LCD 显示的内容
self.lcd.display(self.lcd.value() + 1)
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWin = Window()
sys.exit(app.exec_())
```
在这个例子中,每当定时器的 timeout 信号被触发时,updateLCD() 槽函数就会被调用,LCD 数码显示器上的数字就会递增。
阅读全文