用编写进度条练习:
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_())