当前位置: 首页 PyQt5中事件处理机制及信号和槽之间的通信交互 计时器timerEvent演示事件用法
add-vip

计时器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_())


这段代码我们通过重写事件类实现事件的处理,也可以直接重写事件方法来实现事件的使用。

相关文章