计时器timerEvent演示事件用法
一、学习指导
这节课我们通过计时器事件方法timerEvent来制作一个倒计时工具代大家更深入的了解事件的具体用法,顺便也看看计时器timerEvent的使用技巧。后期我们在很多实战案例当中也要用到这个方法。
二、代码演示
from PyQt5.Qt import * import sys # class Obj(QObject): # def timerEvent(self, QTimerEvent): # print(QTimerEvent, 2) class Label(QLabel): def __init__(self,*args,**kwargs): super().__init__(*args,**kwargs) self.resize(80, 40) self.move(100, 100) self.setText('10') self.setStyleSheet("background-color:#02CDB9;font-size:25px") def timerEvent(self, *args, **kwargs): print('事件案例演示') # 获取text中的数据 sec = int(self.text()) # 倒计时 sec -=1 self.setText(str(sec)) # 停止计时 # if sec == 0: # self.killTimer(timer_id) if __name__ == '__main__': app = QApplication(sys.argv) window = QWidget() window.resize(600, 500) label = Label(window) timer_id = label.startTimer(1000) # label.killTimer(timer_id) window.show() sys.exit(app.exec_())
这段代码我们通过重写事件类实现事件的处理,也可以直接重写事件方法来实现事件的使用。