如果需要在程序中周期性地进行某项操作,比如检测某种设备的状态,就会用到定时器。本文就来看看PyQT5
中的QTimer
的使用。
假设要实现每过一秒计数一次这个功能,来看看QTimer怎么实现?
self.timer = QTimer(self)
self.count = 0
self.timer.timeout.connect(self.showNum)
self.startCount()
首先实例化一个timer
,然后将它的timeout
信号和自定义的showNum
方法绑定。最后调用startCount
这个方法开始这个定时器。上述几条语句一般放在window
或者form
的构造函数里。完整的例子自己去写写吧,也很简单。
startCount
方法
def startCount(self):
self.timer.start(1000)
timer.start()
时间参数的单位是毫秒,这点要注意,相当于时间每过一秒,timer
的timeout()
就会被触发一次,而信号timeout
又是和槽showNum()
绑定在一起的,所以showNum
也会被调用一次。
showNum
槽函数
def showNum(self):
self.count = self.count + 1
print(self.count)
为了便于保存记录,在Github
创建了一个工程,地址是: https://github.com/xugaoxiang/learningPyQt5,后续会把所有的代码、文档以及博文链接都放在上面。