PyQT5-QProgressBar


 1 """
 2     QProgressBar:進度條是用來展示任務進度的,它的滾動能夠讓用戶了解到任務的進度, 提供了水平和垂直進度條,有最大值和最小值,默認是0-99
 3     Author:dengyexun
 4     DateTime:2018.11.22
 5 """
 6 from PyQt5.QtWidgets import QWidget, QApplication, QProgressBar, QPushButton
 7 from PyQt5.QtCore import QBasicTimer    # 調用時間類
 8 import sys
 9 
10 class Example(QWidget):
11 
12     def __init__(self):
13         super().__init__()
14 
15         self.initUI()
16 
17     def initUI(self):
18         # 初始化QProgressBar
19         self.pbar = QProgressBar(self)
20         self.pbar.setGeometry(30,40,200,30)
21 
22         # 初始化QPushButton
23         self.btn = QPushButton("start", self)
24         self.btn.move(40, 80)
25         self.btn.clicked.connect(self.doAction)
26 
27         # 初始化QBasicTimer
28         self.timer = QBasicTimer()
29         self.step = 0       # 用來計算時間
30 
31         # 主界面
32         self.setGeometry(300,300,270,180)
33         self.setWindowTitle("QProgressBar")
34         self.show()
35 
36     def timerEvent(self, e):
37         """
38         時間事件函數,傳遞時間數據進行處理
39         :param e:
40         :return:
41         """
42         if self.step > 100:
43             # 停止計時
44             self.timer.stop()
45             # button中設置文本為完成
46             self.btn.setText('Finished!')
47             # 程序結束
48             return
49         self.step = self.step + 1
50         # 進度條不是文本,設置值的時候用value處理
51         self.pbar.setValue(self.step)
52 
53     def doAction(self):
54         """
55         觸發什么樣的動作,用來控制開始和停止的
56         :return:
57         """
58         if self.timer.isActive():
59             # 計時器是活躍的
60             self.timer.stop()
61             self.btn.setText("start")
62         else:
63             self.timer.start(100, self)
64             self.btn.setText("stop")
65 
66 
67 if __name__ == '__main__':
68     app = QApplication(sys.argv)
69     ex = Example()
70     sys.exit(app.exec_())

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM