pyqt5学习之QTimer
QTimer常用的方法:
常用的方法:start(milliseconds):启动或重新启动定时器,时间间隔为毫秒,如果定时器已经运行,他将停止并重新启动,如果singleSlot信号为真,定时器仅被激活一次
stop():停止定时器
常用的信号:singleshot():在给定的时间间隔后调用一个槽函数时发射此信号
timeout():当定时器超时时发射此信号
该实例主要验证定时器信号在时间间隔时会不会影响程序其他代码的运行
from PyQt5.Qt import * from PyQt5.QtCore import QTimer import sys class Window(QWidget): def __init__(self): super(Window, self).__init__() self.setWindowTitle('定时器') self.resize(500,500) self.move(500,500) self.setup_ui() def setup_ui(self): # 步骤1:设定一个定时器 self.timer = QTimer(self) # 步骤2:将定时器信号和槽函数连接起来 self.timer.timeout.connect(self.cao) # 步骤3:设置定时时间,单位毫秒,间隔设定时间运行程序 self.timer.start(1000) # 使用按钮信号的目的是验证当定时器运行时,会不会影响其他操作 # 经验证不会影响按钮信号的发送和对应的按钮槽函数运行 self.btn=QPushButton(self) self.btn.setText('按钮') self.btn.resize(50,50) self.btn.move(50,50) self.btn.clicked.connect(self.cao1) def cao(self): print(1) def cao1(self): print(2) if __name__ == '__main__': app = QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
小结
1. QTimer定时器会根据设定的时间不断发出timeout信号并调用连接的槽函数,通过start(int)方法来设置时间并启动定时器,stop()方法用于停止定时器;
2. 通过isActive()方法来判断定时器是否被激活,setSingleShot()方法可以在触发timeout信号后只调用一次槽函数;