实战一:编写进度条

 用编写进度条练习:

 1 #!/usr/bin/python3
 2 # -*- coding:utf-8 -*-
 3 #__author:Administrator
 4 #date:2018/7/23
 5 import sys
 6 from PyQt5.QtWidgets import QApplication,QWidget,QProgressBar,QPushButton
 7 from PyQt5.QtCore import QBasicTimer
 8 from PyQt5.QtGui import QIcon
 9 
10 class Example(QWidget):
11     #构造函数__init__()
12     def __init__(self):
13         super().__init__()#调用UI页面
14         self.initUI()
15 
16     def initUI(self):#初始化界面
17         #构建一个进度条
18         self.pbar=QProgressBar(self)
19         self.pbar.setGeometry(30,50,200,25)#设置构件在屏幕上的位置
20         #构建一个按钮
21         self.btn=QPushButton('开始',self)
22         self.btn.move(40,90)
23         self.btn1 = QPushButton('重置', self)
24         self.btn1.move(120, 90)
25         self.btn1.clicked.connect(self.doAction1)
26         #点击按钮
27         self.btn.clicked.connect(self.doAction)
28         # 构建计时器
29         self.timer = QBasicTimer()
30 
31         #计数
32         self.step=0
33         self.setGeometry(300, 300, 280, 170)  # 设置构件在屏幕上的位置
34         self.setWindowTitle("我新鲜出炉的进度条")
35         self.setWindowIcon(QIcon("456.jpg"))
36         #显示
37         self.show()
38 
39     def doAction(self):
40         if self.timer.isActive():
41             self.timer.stop()
42             self.btn.setText('开始')
43         else:
44             self.timer.start(100,self)
45             self.btn.setText("停止")
46 
47     def doAction1(self):
48         self.step=0
49         self.pbar.setValue(self.step)
50         self.timer.stop()
51         self.btn.setText('开始')
52 
53     def timerEvent(self, *args, **kwargs):
54         if self.step>=100:
55             #停止进度条
56             self.timer.stop()
57             self.btn.setText('完成')
58 
59         self.step+=1
60         #把每次重置的值,赋值给进度条
61         self.pbar.setValue(self.step)
62 
63 if __name__=='__main__':
64     #创建一个QT应用对象
65     app=QApplication(sys.argv)
66     ex=Example()
67 
68     #当前的程序开始运行
69     sys.exit(app.exec_())
原文地址:https://www.cnblogs.com/Mengchangxin/p/9353017.html