当前位置: 首页 > news >正文

PyQt6 QTimer计时器控件

锋哥原创的PyQt6视频教程:

2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计52条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~、第2讲 PyQt6库和工具库QTDesigner安装与配置、第3讲 PyQt6第一个程序HelloWorld实现等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV11C4y1P7fj/

在PyQt6中,如果需要周期性地执行某项操作,就可以使用QTimer类实现,QTimer类表示计时器,它可以定期发射timeout信号,时间间隔的长度在start()方法中指定,以毫秒为单位,如果要停止计时器,则需要使用stop()方法。

我们做一个 显示当前日期时间的程序:

UI生成参考代码:

from PyQt6 import QtCore, QtGui, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(400, 300)self.pushButton = QtWidgets.QPushButton(parent=Form)self.pushButton.setGeometry(QtCore.QRect(60, 90, 75, 23))self.pushButton.setObjectName("pushButton")self.pushButton_2 = QtWidgets.QPushButton(parent=Form)self.pushButton_2.setGeometry(QtCore.QRect(190, 90, 75, 23))self.pushButton_2.setObjectName("pushButton_2")self.label = QtWidgets.QLabel(parent=Form)self.label.setGeometry(QtCore.QRect(70, 170, 53, 15))self.label.setText("")self.label.setObjectName("label")self.retranslateUi(Form)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate = QtCore.QCoreApplication.translateForm.setWindowTitle(_translate("Form", "Form"))self.pushButton.setText(_translate("Form", "Start"))self.pushButton_2.setText(_translate("Form", "Stop"))

Main测试代码:

"""python加载ui文件作者 : 小锋老师官网 : www.python222.com
"""
import sysfrom PyQt6.QtCore import QTimer, QDateTime
from PyQt6.QtWidgets import QApplication, QLabel, QPushButton
from PyQt6 import uicdef f1(label: QLabel):time = QDateTime.currentDateTime()timeDisplay = time.toString("yyyy-MM-dd hh:mm:ss");label.setText(timeDisplay)def start(timer, label):timer.start(1000)timer.timeout.connect(lambda: f1(label))def stop(timer):timer.stop()if __name__ == '__main__':app = QApplication(sys.argv)ui = uic.loadUi("./QTimer计时器控件.ui")timer = QTimer(ui)pushButton: QPushButton = ui.pushButtonpushButton_2: QPushButton = ui.pushButton_2label: QLabel = ui.labelpushButton.clicked.connect(lambda: start(timer, label))pushButton_2.clicked.connect(lambda: stop(timer))ui.show()sys.exit(app.exec())

http://www.lryc.cn/news/265549.html

相关文章:

  • Vue:defineAsyncComponent(异步组件)、component(动态组件)、keep-alive(缓存组件)
  • 14 款最佳文件恢复软件 [2024 年最佳精选工具]
  • Redis基础篇-004 Redis的Java客户端
  • 【数据结构和算法】---栈和队列的互相实现
  • 机场信息集成系统系列介绍(6):机场协同决策支持系统ACDM
  • GO设计模式——17、解释器模式(行为型)
  • 基于SSM的大学生兼职平台的设计与实现
  • Ignite内存配置
  • 前端基础vue路由懒加载
  • C++系列第九篇 数据类型下篇 - 复合类型(指针高级应用)
  • python三大开发框架django、 flask 和 fastapi 对比
  • html基础2
  • 基于博弈树的开源五子棋AI教程[5 启发式搜索]
  • JavaScript原型,原型链 ? 有什么特点?
  • Unity 问题 之 ScrollView ,LayoutGroup,ContentSizeFitter 一起使用时,动态变化时无法及时刷新更新适配界面的问题
  • linux 中 C++的环境搭建以及测试工具的简单介绍
  • 448. 找到所有数组中消失的数字
  • 为何在下雪天它“失宠”了,传统雪地靴居然不适合下雪穿
  • 第34节: Vue3 调用内联处理程序中的方法
  • JavaScript--明明白白Promise (Park One)
  • el-form与el-upload结合上传带附件的表单数据(后端篇)
  • postMessage——不同源的网页直接通过localStorage/sessionStorage/Cookies——技能提升
  • 上市公司-绿色投资者数据集(2000-2022)
  • 3 pandas之dataframe
  • vue-内网,离线使用百度地图(地图瓦片图下载静态资源展示定位)
  • OpenFeign 万字教程详解
  • 全自动双轴晶圆划片机:半导体制造的关键利器
  • Android Studio 安装和使用
  • 【已解决】Java中,判断:集合中是否包含指定元素(模糊匹配)比如权限中的user:list或者是user:*这种判断
  • 【基于激光雷达的路沿检测用于自动驾驶的真值标注】