【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.mzph.cn/pingmian/37721.shtml

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

相关文章

IOS Swift 从入门到精通: ios从服务器获取数据

文章目录 证书数据模型将数据添加到 Firestore进一步了解Combine创建 ViewModel证书数据模型 接下来,我们需要为证书创建一个模型。创建一个名为“Certificate.swift”的新文件,并添加以下模型: // Certificate.swiftstruct Certificate: Identifiable {var id: Stringvar…

微信内置H5支付

&#x1f9d1;‍&#x1f4bb; 写在开头 点赞 收藏 学会&#x1f923;&#x1f923;&#x1f923; 场景是用户通过微信扫app内的收款码&#xff0c;跳到一个h5页面。然后完成支付。 代码实现的整体流程&#xff1a; 使用微信扫码&#xff0c;码是app内生成的&#xff0c;码…

Day38:LeedCode 1049. 最后一块石头的重量 II 494. 目标和 474.一和零

1049. 最后一块石头的重量 II 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0c;然后将它们一起粉碎。假设石头的重量分别为 x 和 y&#xff0c;且 x < y。那么粉碎的可能结果…

大数据面试题之MapReduce(2)

目录 shuffle为什么要排序? 说一下map是怎么到reduce的? 说一下你了解的用哪几种shuffle机制? MapReduce的数据处理过程 mapjoin的原理(实现)?应用场景? reducejoin如何执行(原理) MapReduce为什么不能产生过多小文件 MapReduce分区及作用 ReduceTask数量和分区数…

Java的NIO体系

目录 NIO1、操作系统级别下的IO模型有哪些&#xff1f;2、Java语言下的IO模型有哪些&#xff1f;3、Java的NIO应用场景&#xff1f;相比于IO的优势在哪&#xff1f;4、Java的IO、NIO、AIO 操作文件读写5、NIO的核心类 :Buffer&#xff08;缓冲区&#xff09;、Channel&#xff…

2024.06.29 刷题日记

739. 每日温度 给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 示例 1: …

Linux下C/C++获得当前时间(秒/毫秒)

秒或者毫秒是根据当前时间到1970年1月1日计算&#xff0c;主要用于两个时间戳计算间隔时间 #include <iostream> using namespace std;#include <sys/time.h>int main() {struct timeval time_;gettimeofday(&time_, NULL);cout << time_.tv_sec <&…

【proteus 51单片机入门】8*8led点阵

文章目录 前言如何点亮led点阵仿真图代码点亮led核心代码解析 爱心代码 滚动总结 前言 在嵌入式系统的开发中&#xff0c;LED点阵显示器是一种常见的显示设备&#xff0c;它可以用来显示各种图形和文字&#xff0c;为用户提供直观的信息反馈。本文将介绍如何使用Proteus软件和…

使用 MongoDB 剖析开放银行:技术挑战和解决方案

开放银行&#xff08;或开放金融&#xff09;在银行业掀起了一股颠覆性浪潮&#xff0c;它迫使金融机构&#xff08;银行、保险公司、金融科技公司、企业甚至政府机构&#xff09;迎接一个透明、协作和创新的新时代。这种模式转变要求银行与第三方提供商&#xff08;TPP&#x…

如何在 SQL 中删除一条记录?

如何在 SQL 中删除一条记录&#xff1f; 在 SQL 中&#xff0c;您可以使用DELETE查询和WHERE子句删除表中的一条记录。在本文中&#xff0c;我将向您介绍如何使用DELETE查询和WHERE子句删除记录。我还将向您展示如何一次从表中删除多条记录 如何在 SQL 中使用 DELETE 这是使…

【计算机图形学】期末考试知识点汇总(上)

文章目录 视频教程第一章 计算机图形学概述计算机图形学的定义计算机图形学的应用计算机图形学 vs 图像处理 vs模式识别图形显示器的发展及工作原理理解三维渲染管线 第二章 基本图元的扫描转换扫描转换直线的扫描转换DDA算法Bresenham算法中点画线算法圆的扫描转换中点画圆算法…

react项目实现语音识别功能

需要调用后端接口将录音文件传给后端&#xff0c;由后端将录音内容转换成文字返回给前端&#xff0c;当然也有一些插件可以实现语音转文字功能&#xff0c;可以自行查找使用插件实现方法 有注释版本&#xff0c;下面还有 一个无注释版本。 import React, { useState, useEffe…

面试-J.U.C包的梳理

1.J.U.C包的梳理 Java.Util.Concurrent包简称JUC (1)JUC整体架构图 (2)分析 Executor&#xff1a;线程执行器&#xff0c;任务执行和调度的框架。Tools下存在executor相关的executors类&#xff0c;用于创建executorservice&#xff0c;scheduleexecutorservice&#xff0c;…

互斥锁(Mutex)和条件变量(Condition Variable)的作用

互斥锁&#xff08;Mutex&#xff09;的作用 互斥锁&#xff08;Mutex&#xff0c;全称Mutual Exclusion Lock&#xff09;是一种用于多线程编程中的同步原语&#xff0c;其主要作用是确保在任何给定时间只有一个线程可以访问共享资源&#xff0c;以避免多个线程同时对共享资源…

哪吒汽车,正在等待“太乙真人”的拯救

文丨刘俊宏 在360创始人、哪吒汽车股东周鸿祎近日连续且着急的“督战”中&#xff0c;哪吒汽车&#xff08;下简称哪吒&#xff09;终究还是顶不住了。 6月26日&#xff0c;哪吒通过母公司合众新能源在港交所提交了IPO文件&#xff0c;急迫地希望成为第五家登陆港股的造车新势力…

高精度除法的实现

高精度除法与高精度加法的定义、前置过程都是大致相同的&#xff0c;如果想了解具体内容&#xff0c;可以移步至我的这篇博客&#xff1a;高精度加法计算的实现 在这里就不再详细讲解&#xff0c;只讲解主体过程qwq 主体过程 高精度除法的原理和小学学习的竖式除法是一样的。 …

【Sklearn-驯化】一文搞懂机器学习树模型建模可视化过程

【Sklearn-驯化】一文搞懂机器学习树模型建模可视化过程 本次修炼方法请往下查看 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合&#xff0c;智慧小天地&#xff01; &#x1f387; 免费获取相关内容文档关注&#xff…

OpenCV学习之cv2.imshow()函数

OpenCV学习之cv2.imshow()函数 一、简介 cv2.imshow 是 OpenCV 库中用于显示图像的基本函数之一。在图像处理和计算机视觉的过程中&#xff0c;使用该函数可以快速预览处理后的图像&#xff0c;便于调试和结果展示。 二、基本语法 cv2.imshow(WindowName, Imgmat)三、参数说…

如何制作鼠标悬浮后伸缩的搜索框

引言 许多博客都在使用的伸缩搜索框制作教程 成品展示&#xff08;颜色自行搭配&#xff09; 初步布局 居中盒子&&初始化样式 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewpo…

2SK241 LTSpice模型及仿真

2SK241是东芝生产的一款NMOS&#xff0c;早已停产&#xff0c;但是在收音机圈子里还是有很多死忠粉&#xff0c;所以在淘宝上也是一堆打磨改标的假货。 言归正传&#xff0c;在矿坛上找到了2SK241的模型&#xff1a; .model M2SK241bottom NMOS(Level1 Rd1 Rs10 Rg50 Kp8mV…