定时器QTimer

 

复制代码
 1 import sys
 2 from PyQt5.QtCore import QTimer, Qt
 3 from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QLabel, QVBoxLayout
 4 
 5 class Demo(QWidget):
 6     def __init__(self):
 7         super(Demo, self).__init__()
 8         self.label = QLabel('0', self)
 9         self.label.setAlignment(Qt.AlignCenter)
10 
11         self.step = 0
12 
13         self.timer = QTimer(self)  #实例化定时器
14         self.timer.timeout.connect(self.update_func)  #设置定时执行的函数
15 
16         self.ss_button = QPushButton('Start', self)
17         self.ss_button.clicked.connect(self.start_stop_func)
18 
19         self.v_layout = QVBoxLayout()
20         self.v_layout.addWidget(self.label)
21         self.v_layout.addWidget(self.ss_button)
22 
23         self.setLayout(self.v_layout)
24 
25     def start_stop_func(self):
26         if not self.timer.isActive():
27             #self.timer.isActive()  返回定时器是否激活  Ture激活
28             self.ss_button.setText('Stop')
29             self.timer.start(100)    #启动定时器,时间间隔100毫秒
30         else:
31             self.ss_button.setText('Start')
32             self.timer.stop()   #停止定时器
33 
34     def update_func(self):
35         self.step += 1
36         self.label.setText(str(self.step))
37 
38 
39 if __name__ == '__main__':
40     app = QApplication(sys.argv)
41     demo = Demo()
42     demo.show()
43     sys.exit(app.exec_())
复制代码

 

posted @   天子骄龙  阅读(1380)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示