一、学习指导
这节课我们通过计时器事件方法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_())
这段代码我们通过重写事件类实现事件的处理,也可以直接重写事件方法来实现事件的使用。