• python 计时器


    今天做自动化界面工具的时候需要用到计时器,查阅了一下,发现以下的这位博友写的很简洁方便且实用

    https://blog.csdn.net/qfxx_CSDN/article/details/81412465

    以下为源码:

    from PyQt5.QtWidgets import QWidget,QLabel,QPushButton,QGridLayout,QApplication
    from PyQt5.QtCore import QTime,QTimer
    import sys
    
    class ShowTime(QWidget):
        def __init__(self):
            super().__init__()
            
            self.isTimeStart=False    #标记时间是否开始计时
            
            self.setWindowTitle("QLable 显示计时时间")
            self.lable_time=QLabel('运行时间:',self)
            self.lable_time_val=QLabel('00:00:00',self)
            
            self.btn_start=QPushButton('开始显示')
            self.btn_stop=QPushButton('停止计时')
            
            
            #布局
            self.mainLayout=QGridLayout(self)
            self.mainLayout.addWidget(self.lable_time,0,0,1,1)
            self.mainLayout.addWidget(self.lable_time_val,0,1,1,2)
            
            self.mainLayout.addWidget(self.btn_start,1,1,1,1)
            self.mainLayout.addWidget(self.btn_stop,1,2,1,1)
            
            #创建定时器对象和时间对象
            self.timer=QTimer()         #
            self.timeClock=QTime()
            
            #信号与槽
            self.btn_start.clicked.connect(self.timestart)
            self.timer.timeout.connect(self.addtime)
            self.btn_stop.clicked.connect(self.timestop)
            
        def timestart(self):            #启动计时
            if not self.isTimeStart:
                self.timeClock.setHMS(0,0,0)  #初始时设置时间为  000000
                self.timer.start(1000)         #启动定时器,定时器对象每隔一秒发射一个timeout信号
            self.isTimeStart=True
    
        def addtime(self):      #计时时间增一秒,并显示在QLable上
            self.timeClock=self.timeClock.addMSecs(1000)   #时间增加一秒
            self.lable_time_val.setText(self.timeClock.toString("hh:mm:ss"))   #标签显示时间
        
        def timestop(self):    #停止计时
            if self.isTimeStart:
                self.timer.stop()
                self.isTimeStart=False  
                
    if __name__=="__main__":
        app=QApplication(sys.argv)
        demo=ShowTime()
        demo.show()
        sys.exit(app.exec())
  • 相关阅读:
    Swing程序最佳架构设计—以业务对象为中心的MVC模式(转)
    股市投资策略总结(转)
    php学习笔记--高级教程--读取文件、创建文件、写入文件
    史上最简单的Hibernate入门简单介绍
    Java中StringBuilder的清空方法比較
    DHCP Option 60 的理解
    ICMP报文分析
    软件測试自学指南---从入门到精通
    Qt多线程学习:创建多线程
    Bulk Insert命令具体
  • 原文地址:https://www.cnblogs.com/juan-F/p/9475723.html
Copyright © 2020-2023  润新知