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)
# 從左上角30-50的界面,顯示一個200*25的界面
self.pbar.setGeometry(30, 50, 200, 25) # 設置進度條的位置
# 設置開始按鈕
self.btn = QPushButton('開始', self)
self.btn.move(50, 90) # 按鈕移動的位置
# 點擊按鈕
# 信號函數不能加括號
self.btn.clicked.connect(self.doAction)
# 構建一個計時器
self.timer = QBasicTimer()
# 計數
self.step = 0
self.setGeometry(300,300,280,170)
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_())
PyQt——簡單進度條程序
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.