软硬件环境

  • windows 10 64bit
  • Miniconda3 with python 3.7.1
  • PyQt5

前言

如果需要在程序中周期性地进行某项操作,比如检测某种设备的状态,就会用到定时器。本文就来看看PyQT5中的QTimer的使用。

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()时间参数的单位是毫秒,这点要注意,相当于时间每过一秒,timertimeout()就会被触发一次,而信号timeout又是和槽showNum()绑定在一起的,所以showNum也会被调用一次。

showNum槽函数

def showNum(self):

    self.count = self.count + 1
    print(self.count)

备注

为了便于保存记录,在Github创建了一个工程,地址是: https://github.com/xugaoxiang/learningPyQt5,后续会把所有的代码、文档以及博文链接都放在上面。


Comments

comments powered by Disqus