# -*- coding:utf8 -*- # timer 与thread同时存在,闪退两者应选 其一 20200418 一天失败体会 from PyQt5.QtCore import QBasicTimer from PyQt5.QtWidgets import QApplication, QWidget, QProgressBar, QPushButton from PyQt5.QtGui import QIcon import sys class MyQt(QWidget): def __init__(self): super(MyQt, self).__init__() self.initUI() def initUI(self): # 构建一个进度条 self.pbar = QProgressBar(self) # 从左下角0,175处,显示一个400*25的界面 self.pbar.setGeometry(0, 175, 400, 25) # 设置进度条的位置 # 设置开始按钮 self.btn = QPushButton('开始', self) self.btn.move(50, 90) # 按钮移动的位置 # 点击按钮 # 信号函数不能加括号 self.btn.clicked.connect(self.doAction) # 构建一个计时器 self.timer = QBasicTimer() # 计数 self.step = 0 self.setGeometry(500,300,400,200) self.setWindowTitle('进度条测试') self.setWindowIcon(QIcon('1.jpg')) self.show() def doAction(self): # 判断是否处于激活状态 if self.timer.isActive(): self.timer.stop() self.btn.setText('开始') else: self.timer.start(100,self) self.btn.setText('停止') def timerEvent(self, *args, **kwargs): if self.step>=100: # 停止进度条 self.timer.stop() self.btn.setText('完成') return self.step+=1 # 把进度条每次充值的值赋给进图条 self.pbar.setValue(self.step) if __name__ == '__main__': # 创建一个Qt应用对象 app=QApplication(sys.argv) myqt=MyQt() # 程序和窗口 --- 一个程序可以有多个窗口 # 当前的程序开始运行 sys.exit(app.exec_())
pyqt5 窗体底部增加进度条 python3.7
最新推荐文章于 2024-09-01 14:58:25 发布