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

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,,,,)
self.mainLayout.addWidget(self.lable_time_val,,,,) self.mainLayout.addWidget(self.btn_start,,,,)
self.mainLayout.addWidget(self.btn_stop,,,,) #创建定时器对象和时间对象
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(,,) #初始时设置时间为 ::
self.timer.start() #启动定时器,定时器对象每隔一秒发射一个timeout信号
self.isTimeStart=True def addtime(self): #计时时间增一秒,并显示在QLable上
self.timeClock=self.timeClock.addMSecs() #时间增加一秒
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())

python 计时器的更多相关文章

  1. python计时器类

    import time as t class MyTimer(): def __init__(self): self.unit = ['年', '月', '日', '时', '分', '秒'] sel ...

  2. 如何用python编写一个计时器的程序

    python计时器的程序的代码和注释 import time as t #引入time模块 class MyTimer():     def __init__(self): #构造函数         ...

  3. python基础 常见用法

    1.python计时器timeit模块 1)timeit 模块定义了接收两个参数的Timer类,两个参数都是字符串. 参数1:要计时的语句或者函数 参数2:为参数1构建环境的导入语句 2)Timer对 ...

  4. Python的第二堂课(1)

    一.编程语言的分类 机器语言:直接使用二进制命令去编写程序. 优点:执行效率高 缺点:开发效率低 汇编语言:用英文标签代替二进制命令去编写程序 优点:开发效率高于机器语言 缺点:执行效率低于机器语言 ...

  5. linux下安装使用虚拟环境

    一.导语 在使用 Python 开发的过程中,工程一多,难免会碰到不同的工程依赖不同版本的库的问题: 亦或者是在开发过程中不想让物理环境里充斥各种各样的库,引发未来的依赖灾难. 此时,我们需要对于不同 ...

  6. 解释性语言和非解释性语言,GIL锁

    解释性语言:python写的代码就被称为程序,cpu硬件能运行二进制代码指令.demo.py需要经过python解释器编译才做才能执行. 非解释性语言:例如c语言程序,同样需要写代码.demo.c这个 ...

  7. CPython中的GIL

    GIL:全局解释器锁(cpython中) GIL产生的背景,由于C语言底层原因,CPpython中多线程运行,每个线程都需要申请全局资源,但是Cpython并不能应对所有线程同时的资源请求,为防止发生 ...

  8. python实现屏保计时器

    什么都不说先上图吧,Python 初学者实现屏保计时器 原理:利用 Python turtle 库实现快速画图,每隔一秒钟擦除屏幕,然后获得电脑实时时间,再次画图,呈现动态时间. 关于数字如果画,可以 ...

  9. python中的计时器:timeit

    python中的计时器:timeit timeit 通常在一段程序的前后都用上time.time(),然后进行相减就可以得到一段程序的运行时间,不过python提供了更强大的计时库:timeit #导 ...

随机推荐

  1. 代码部署工具walle(一)

    一.概述 代码部署上线.权限控制.一键版本回滚,github地址:https://github.com/meolu/walle-web walle是基于php语言做的,所以需要一个php的安装环境. ...

  2. 解析js中( ( ) { } ( ) )的含义

    //实例var tensquared=(function(x) { return x*x; }(10)); 首先我们来拆解这一行语句: 一. var tensquared = xx; 这是赋值语句: ...

  3. vue实用组件——页面公共头部

    可伸缩自适应的页面头部,屏幕适应范围更广泛 效果如下: 代码如下: <template> <div class="site-header"> <div ...

  4. input输入框file类型第二次不触发onchange事件的解决办法,简单有效

    在网上看了很多办法,现在将网上大部分说法总结如下: 网上说法: 原因:选择一次后onchange事件没有绑定到input标签上:    解决办法:拷贝一份input标签的副本,每次选择后对原input ...

  5. 记录数据库操作记录的DDL触发器

    我们在项目中经常会对数据做一些操作,比如增加一个字段,修改一个存储过程,删除表等等操作,很有必要记录这些操作,以便以后出了问题,方便找到元凶.接下来介绍一个DDL触发器在实际环境中的使用,这个DDL触 ...

  6. Java学习第二篇 — 时间类的使用

    package DateTest; import java.util.Date; public class Date1 { public static void main(String[] args) ...

  7. 使用 Node.js 搭建微服务网关

    目录 Node.js 是什么 安装 node.js Node.js 入门 Node.js 应用场景 npm 镜像 使用 Node.js 搭建微服务网关 什么是微服务架构 使用 Node.js 实现反向 ...

  8. 如何调试JDK源代码并查看局部变量值

    如下图: 按F5进入String.startsWith,如下: 点“Edit Source Lookup Path” 附加源代码,如下图: 附加上源代码后如下: 可以看到,当鼠标放在“prefix”上 ...

  9. Java - HashTable源码分析

    java提高篇(二五)-----HashTable 在java中与有两个类都提供了一个多种用途的hashTable机制,他们都可以将可以key和value结合起来构成键值对通过put(key,valu ...

  10. POJ2104(可持久化线段树)

    K-th Number Time Limit: 20000MS   Memory Limit: 65536K Total Submissions: 58759   Accepted: 20392 Ca ...