• 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())
  • 相关阅读:
    asp.net连接SQL server,SQLLite,Oracle,Access数据库
    c#中RadioButtonList选中后不整体刷新页面保持选中状态
    c#中onclick事件请求的两种区别
    java中从实体类中取值会忽略的的问题
    Groovy自定义函数实现时间表达式解析
    广度优先搜索、狄克丝特拉算法
    创建型模式
    数组、链表、散列表、图、树、队列、栈
    nginx.conf
    Nginx笔记一
  • 原文地址:https://www.cnblogs.com/juan-F/p/9475723.html
Copyright © 2020-2023  润新知