PyQt小练习-【第3课】定时器倒计时

本篇博客通过PyQt的QObject实现了一个从10到0的倒计时功能,利用startTimer()启动定时器,每秒递减1,直到0。同时介绍了面向对象编程、自定义标签类的封装以及如何使用killTimer()停止定时器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

应用 QObject里面的定时器api实现一个倒计时功能,从10开始,每秒减1,至0停止

这里练习了面相对象的编程方法,熟悉了自定义标签类的封装,熟悉定时器的使用


用到的API

startTimer(ms,Qt.TimerType)会返回一个timer_id

timerEvent()定时器的执行事件,需要重写父类的方法

killTimer(timer_id)根据定时器的ID,杀死定时器

 

# 0.导入需要的包和模块
from PyQt5.Qt import *
import sys

# 1.创建一个应用程序对象
app = QApplication(sys.argv)

# 2.控件的操作
# 2.1创建控件
window = QWidget()
# 2.2设置控件
window.setWindowTitle('定时器')
window.resize(500, 500)

'''定时器执行的timerEvent继承自父类,所以我们要求改timerEvent,就可以创建一个新的类继承自QLabel'''
class MQLabel(QLabel):

    """把定时器放在了初始化里面,这样方便传递time_id"""
    def __init__(self, *args, **kwargs):  # 这里是要传递参数的,这个表达是通用适配所有的类型
        super().__init__(*args, **kwargs)  # 先执行父类的方法
        self.move(200, 200)
        self.setStyleSheet("font-size:72px")

    """保持了封装灵活性"""
    def st
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值