【PyQt】20-QTimer(动态显示时间、定时关闭)

QTimer

  • 前言
  • 一、QTimer介绍
  • 二、动态时间展示
    • 2.1 代码
    • 2.2 运行结果
  • 三、定时关闭
    • 3.1 介绍他的两种用法
      • 1、使用函数或Lambda表达式
      • 2、带有定时器类型(高级)
    • 3.2 代码
    • 3.3 运行结果
  • 总结


前言

好久没学习了。


一、QTimer介绍

pyqt里面的多线程可以有两种实现方式:
一、QTimer
二、QThread
多线程:同时完成多个任务。

定时器就是每隔一段时间调用一次。

二、动态时间展示

这里介绍基本的调用,每个一段时间干一件事情,周而复始。

2.1 代码

'''
#Author :susocool
#Creattime:2024/6/28
#FileName:48-动态显示当前时间
#Description: 使用QTimer定时器去动态的显示时间
'''import sys,math
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *class ShowTimerdemo(QWidget):def __init__(self):super().__init__()self.initUI()def initUI(self):self.setWindowTitle('动态显示当前时间')self.resize(500,300)# 设置三个按钮self.label = QLabel("显示当前时间")self.startButton = QPushButton("开始")self.endButton = QPushButton("结束")# 设置布局layout = QGridLayout()self.timer = QTimer()self.timer.timeout.connect(self.showTime)layout.addWidget(self.label,0,0,1,2)layout.addWidget(self.startButton,1,0)      # 第二行第一列layout.addWidget(self.endButton,1,1)self.setLayout(layout)self.startButton.clicked.connect(self.startTimer)self.endButton.clicked.connect(self.endTimer)def showTime(self):# 获取当前时间current_time = QDateTime.currentDateTime()current_time_Display = current_time.toString("yyyy-MMM-dd hh:mm:ss dddd")self.label.setText(current_time_Display)def startTimer(self):# 设置时间间隔1000msself.timer.start(1000)self.startButton.setEnabled(False)self.endButton.setEnabled(True)def endTimer(self):self.timer.stop()self.startButton.setEnabled(True)self.endButton.setEnabled(False)if __name__ == '__main__':app = QApplication(sys.argv)examlp = ShowTimerdemo()examlp.show()sys.exit(app.exec_())

2.2 运行结果

在这里插入图片描述
在这里插入图片描述

三、定时关闭

QTimer.singleShot 是 PyQt 中的一个在指定的延迟后执行一个函数或方法,不需要实例化 QTimer 对象即可使用。

  • 特别适用于那些只需延迟执行一次的操作,不需要周期性地调用。

3.1 介绍他的两种用法

在这里插入图片描述

1、使用函数或Lambda表达式

singleShot(msec: int, slot: PYQT_SLOT)

msec: 指定延迟时间,单位为毫秒。
slot: 在延迟后执行的函数或Lambda表达式。

Lambda表达式:一种匿名函数,允许您快速定义简单的函数或可调用对象而无需显式地命名它们

2、带有定时器类型(高级)

singleShot(msec: int, timerType: Qt.TimerType, slot: PYQT_SLOT)

msec: 延迟时间,单位为毫秒。
timerType: 指定定时器类型(通常为 Qt.PreciseTimer 或 Qt.CoarseTimer),这是一个高级特性,在基本场景中通常不会使用。
slot: 在延迟后执行的函数或Lambda表达式。

3.2 代码

'''
#Author :susocool
#Creattime:2024/6/29
#FileName:49-定时关闭
#Description: 执行到一定的时间,程序定时关闭
QTimer.singleShot->一定时间只调用一次
'''import sys,math
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *if __name__ == '__main__':app = QApplication(sys.argv)label = QLabel ( '<font color=red size=140><b>Hello World!窗口将在5s后自动关闭!<b/font>' )# 设置窗口样式# Qt.SplashScreen 表示窗口是一个启动画面# Qt.FramelessWindowHint 表示窗口无边框label.setWindowFlags(Qt.SplashScreen|Qt.FramelessWindowHint)QTimer.singleShot(5000,app.quit)    # 使用 QTimer 的 SingleShot 方法在5秒后自动关闭应用程序label.show()sys.exit(app.exec_())

3.3 运行结果

在这里插入图片描述
5s之后会消失!这个没办法展示出来。只能用我贫瘠的语言描述


总结

这篇文章依旧没有总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/368494.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【python数据处理】— “2020-01-01 05:20:15“日期格式数据

文章目录 一、数据说明及目标二、实现方式1.提取date2.提取hour3.提取weekday4.提取month 一、数据说明及目标 数据说明 数据表有一列名为"datetime"表示时间数据&#xff0c;该列的数据格式是"2020-01-01 05:20:15"。 import pandas as pd datapd.read_e…

基于SpringBoot的超市进销存系统

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot框架 工具&#xff1a;MyEclipse、Tomcat 系统展示 首页 首页界面图 个人中心 个人中心…

地理信息科学:生态保护的智慧经纬

在地球这颗蓝色星球上&#xff0c;每一片森林的呼吸、每一条河流的流淌&#xff0c;都是生命交响曲中不可或缺的音符。而地理信息科学&#xff08;GIS&#xff09;&#xff0c;正是我们手中解读自然密码、护航生态平衡的精密仪器。今天&#xff0c;让我们深入探讨GIS如何在生物…

万界星空科技QMS系统:重塑质量管理新纪元

万界星空科技QMS&#xff08;Quality Management System&#xff09;质量管理系统是一套全面、高效的质量管理工具&#xff0c;旨在帮助企业提升产品质量、优化生产流程、降低质量成本。该系统具备多个具体功能模块&#xff0c;以下是对其主要功能模块的详细介绍&#xff1a; 一…

通过easyexcel导入数据,添加表格参数的校验,同表格内校验以及和已有数据的校验

引入依赖 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.11</version><scope>compile</scope></dependency> 需要导入到某个目录下 如果产品名称相同&#xff0c…

收银系统源码-收银台营销功能-购物卡

1. 功能描述 购物卡&#xff1a;基于会员的电子购物卡&#xff0c;支持设置时效、适用门店、以及可用商品&#xff1b;支持售卖和充值赠送&#xff0c;在收银台可以使用&#xff1b; 2.适用场景 会员充值赠送活动&#xff0c;例如会员充值1000元&#xff0c;赠送面值100元购…

Redis基础教程(一):redis配置

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…

【FFmpeg】av_read_frame函数

目录 1.av_read_frame1.2 从pkt buffer中读取帧&#xff08;avpriv_packet_list_get&#xff09;1.3 从流当中读取帧&#xff08;read_frame_internal&#xff09;1.3.1 读取帧&#xff08;ff_read_packet&#xff09;1.3.2 解析packet&#xff08;parse_packet&#xff09;1.3…

【有哪些GPU算力租用平台值得推荐】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

性能测试、负载测试、压力测试、稳定性测试简单区分【超详细】

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 性能测试是一个总称&#xff0c;可细分为性能测试、负载测试、压力测试、稳定性测试。 性能测试…

嵌入式底层系统了解

当裸机功能不复杂的时候&#xff0c;即类似与点亮一个LED灯&#xff0c;驱动LCD和OLED这样的模块&#xff0c;以及各位大学生的搭积木式的毕业设计(狗头保命&#xff09;&#xff0c;此时可以简单地分为硬件和软件层&#xff08;应用层),以及以中间层作为中间联系。 当需要实现…

必备的 Adobe XD 辅助工具

想要高效便捷的使用 Adobe XD&#xff0c; Adobe XD 插件是必不可少的&#xff0c; Adobe XD 的插件非常多&#xff0c;但 90%都是英文&#xff0c;并且良莠不齐。在这儿挑选 9 个好用的 Adobe XD 插件给大家&#xff0c;这里是我整理的一些实用 Adobe XD 插件&#xff0c;让你…

No module named ‘MySQLdb‘

python 运行代码的时候遇到No module named ‘MySQLdb’报错如何解决&#xff1f; 解决办法 如果没有安装可以先安装以下依赖库 pip install PyMySQL如果已经安装了PyMySQL&#xff0c;仍然报MySQLdb模块找不到&#xff0c;可以尝试安装以下依赖库。 pip install mysqlclient

window下git bash设置启动后默认路径进入自己的工程

方法一&#xff1a;更改快捷方式 方法二&#xff1a;修改~/.bashrc

Vulkan学习——渲染3D模型

摘要&#xff1a;本文简要描述了Vulkan渲染一个3D模型需要做的事情&#xff0c;不会对太细节的内容进行深究。   关键字&#xff1a;Vulkan,Render,3D 源码 1 简介 1.1 Vulkan简介 Vulkan是一个低开销、跨平台的二维、三维图形与计算的应用程序接口&#xff08;API&#x…

在windows上安装objection

安装命令pip install objection -i https://mirrors.aliyun.com/pypi/simple hook指定进程 objection -g 测试 explore 进程名不定是包名&#xff0c;也可能是app名字&#xff0c;如“测试”就是app的名字 若出现如下错误&#xff0c;说明python 缺少setuptools 直接安装setu…

全面教程:在Ubuntu上快速部署ZeroTier,实现Windows与VSCode的局域网无缝访问

文章目录 1 背景介绍2 Windows上的操作3 Ubuntu上的操作4 连接 1 背景介绍 在现代工作环境中&#xff0c;远程访问公司内网的Ubuntu主机对于开发者来说是一项基本需求。然而&#xff0c;由于内网的限制&#xff0c;传统的远程控制软件如向日葵和todesk往往无法满足这一需求。作…

Java教程之IO模式精讲,NIO+BIO

第一章 BIO、NIO、AIO介绍 背景 在java的软件设计开发中&#xff0c;通信架构是不可避免的&#xff0c;我们在进行不同系统或者不同进程之间的数据交互&#xff0c;或 者在高并发下的通信场景下都需要用到网络通信相关的技术&#xff0c;对于一些经验丰富的程序员来说&#x…

【JavaEE】多线程代码案例(2)

&#x1f38f;&#x1f38f;&#x1f38f;个人主页&#x1f38f;&#x1f38f;&#x1f38f; &#x1f38f;&#x1f38f;&#x1f38f;JavaEE专栏&#x1f38f;&#x1f38f;&#x1f38f; &#x1f38f;&#x1f38f;&#x1f38f;上一篇文章&#xff1a;多线程代码案例(1)&a…

用户资料门户的构建

1. 需求背景 老的页面停止维护了,且老旧, 功能单一,且页面分散. 急需做功能集成的平台化建设原先的用户资料查询没有做权限管控, 每一次查询都会消耗我们组的人力资源. 2. 项目介绍 2.1. 项目地址 服务地址: [公司内网服务(略)] 工蜂地址: [公司内网仓库(略)] 2.2 项目的价…