当前位置:   article > 正文

PyQt6 QTimer计时器控件_pyqt6 实时显示qtimer剩余时间

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生成参考代码:

  1. from PyQt6 import QtCore, QtGui, QtWidgets
  2. class Ui_Form(object):
  3. def setupUi(self, Form):
  4. Form.setObjectName("Form")
  5. Form.resize(400, 300)
  6. self.pushButton = QtWidgets.QPushButton(parent=Form)
  7. self.pushButton.setGeometry(QtCore.QRect(60, 90, 75, 23))
  8. self.pushButton.setObjectName("pushButton")
  9. self.pushButton_2 = QtWidgets.QPushButton(parent=Form)
  10. self.pushButton_2.setGeometry(QtCore.QRect(190, 90, 75, 23))
  11. self.pushButton_2.setObjectName("pushButton_2")
  12. self.label = QtWidgets.QLabel(parent=Form)
  13. self.label.setGeometry(QtCore.QRect(70, 170, 53, 15))
  14. self.label.setText("")
  15. self.label.setObjectName("label")
  16. self.retranslateUi(Form)
  17. QtCore.QMetaObject.connectSlotsByName(Form)
  18. def retranslateUi(self, Form):
  19. _translate = QtCore.QCoreApplication.translate
  20. Form.setWindowTitle(_translate("Form", "Form"))
  21. self.pushButton.setText(_translate("Form", "Start"))
  22. self.pushButton_2.setText(_translate("Form", "Stop"))

Main测试代码:

  1. """
  2. python加载ui文件
  3. 作者 : 小锋老师
  4. 官网 : www.python222.com
  5. """
  6. import sys
  7. from PyQt6.QtCore import QTimer, QDateTime
  8. from PyQt6.QtWidgets import QApplication, QLabel, QPushButton
  9. from PyQt6 import uic
  10. def f1(label: QLabel):
  11. time = QDateTime.currentDateTime()
  12. timeDisplay = time.toString("yyyy-MM-dd hh:mm:ss");
  13. label.setText(timeDisplay)
  14. def start(timer, label):
  15. timer.start(1000)
  16. timer.timeout.connect(lambda: f1(label))
  17. def stop(timer):
  18. timer.stop()
  19. if __name__ == '__main__':
  20. app = QApplication(sys.argv)
  21. ui = uic.loadUi("./QTimer计时器控件.ui")
  22. timer = QTimer(ui)
  23. pushButton: QPushButton = ui.pushButton
  24. pushButton_2: QPushButton = ui.pushButton_2
  25. label: QLabel = ui.label
  26. pushButton.clicked.connect(lambda: start(timer, label))
  27. pushButton_2.clicked.connect(lambda: stop(timer))
  28. ui.show()
  29. sys.exit(app.exec())

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/854064
推荐阅读
  

闽ICP备14008679号