zoukankan      html  css  js  c++  java
  • 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())
  • 相关阅读:
    IDEA常用快捷指令整理
    Python dict 字典
    内联函数
    【MFC】编辑框 CEdit Ctrl控件自动换行设置
    mysql 多sql文件恢复方案
    Linux: 用64位的系统,能编译32位的程序吗?
    C++ 遍历数组
    工业现场传感器传感器为什么采用电流形式输出?
    【转】电磁阀、电磁铁的工作原理说明
    PCB板强弱电隔离距离不够导致损坏和问题检查记录
  • 原文地址:https://www.cnblogs.com/juan-F/p/9475723.html
Copyright © 2011-2022 走看看