python之关于QTimer.singleShot()的应用记录

本文介绍了一个使用PyQt5中QTimer.singleShot方法的示例,演示了如何在用户点击按钮后延迟500毫秒执行一次累加操作,并更新GUI界面上的显示。该应用展示了QTimer.singleShot在实现简单定时任务中的应用。

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

# -*- coding: utf-8 -*-
'''
关于QTimer.singleShot()的应用记录
'''
import time
import numpy as np
import matplotlib.pyplot as plt
import winsound
import sys
import sklearn
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel
from PyQt5.QtCore import QTimer, Qt

num = 0


class my_num(QWidget):
    def __init__(self):
        super(my_num, self).__init__()
        self.InitUi()

    def InitUi(self):
        self.resize(600, 400)
        self.setWindowTitle('demo')
        self.btn_1 = QPushButton('累加', self)
        self.btn_1.setGeometry(60, 120, 150, 100)
        self.btn_1.clicked.connect(self.m_add)
        self.label = QLabel("<h1>0</h1>", self)  # 设置Label的字体大小,通过html的格式设置
        self.label.setGeometry(300, 120, 300, 100)
        self.label.setAlignment(Qt.AlignCenter)
        self.mt = QTimer(self)

    def my_timer(self):
        if self.btn_1.clicked:
            self.mt.singleShot(500, self.m_add)

    def m_add(self):
        global num
        num += 1
        print('num = {}'.format(num))
        self.label.setText("<h1>{}</h1>".format(num))
        self.my_timer()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = my_num()
    w.show()
    sys.exit(app.exec_())

我曾经跨过山和大海,也穿过人山人海,我曾经拥有着的一切,转眼都飘散如烟,我曾经失落失望失掉所有方向,直到看见平凡才是唯一的答案。
——韩寒《平凡之路》

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值