一、QProgressBar簡介
提供一個水平或垂直進度條;
進度條用於向用戶提供操作進度的提示,並向他們保證相應應用程序仍在運行。
二、QProgressBar的功能作用
1、設置范圍和當前值
(1)框架
(2)操作及展示
1 # *******************QProgressBar**********************開始 2 from PyQt5.Qt import * 3 4 class Window(QWidget): 5 def __init__(self): 6 super().__init__() 7 self.setWindowTitle("QProgressBar") 8 self.resize(500, 500) 9 self.setup_ui() 10 11 def setup_ui(self): 12 pb = QProgressBar(self) 13 14 # 設置范圍和當前值 15 # print(pb.minimum()) # 0 16 # print(pb.maximum()) # 100 17 # pb.setMinimum(50) # 最小50 18 # pb.setMaximum(100) # 最大值100 19 pb.setRange(0,200) # 設置范圍 20 pb.setValue(80) # 設置當前值——顯示進度 21 22 # pb.setRange(0, 0) # 設置為繁忙狀態 23 24 # 重置設置 25 btn = QPushButton(self) 26 btn.setText("測試按鈕") 27 btn.move(100,100) 28 def test(): 29 pb.reset() 30 print(pb.minimum()) 31 print(pb.maximum()) 32 print(pb.value()) 33 btn.clicked.connect(test) 34 35 if __name__ == '__main__': 36 import sys 37 38 app=QApplication(sys.argv) 39 40 window=Window() 41 window.show() 42 sys.exit(app.exec_()) 43 # *******************QProgressBar**********************結束
2、格式設置
(1)框架
(2)操作及展示
1 # 格式設置 2 # pb.setFormat("當前人數/總人數%p%") # 百分比 3 pb.setFormat("當前人數%v/總人數%m") # 當前值與總值 4 5 btn.clicked.connect(lambda: pb.resetFormat()) # 重置格式 6 pb.setAlignment(Qt.AlignHCenter) # 設置標識在進度條的水平居中位置
3、文本操作+方向
(1)框架
(2)操作及展示
1 # 文本操作+方向 2 # pb.setTextVisible(False) # 隱藏文本標簽 3 print(pb.text()) # 獲取文本標簽的內容 4 5 6 def test1(): 7 pb.setOrientation(Qt.Vertical) 8 pb.resize(40, 400) 9 print(pb.isVisible()) 10 pb.setTextDirection(QProgressBar.TopToBottom) # 文本方向改變(受系統的影響不一定成功) 11 12 13 btn.clicked.connect(test1) # 設置進度條為垂直方向
4、倒立外觀
(1)框架
(2)操作及展示
1 # 倒立外觀 2 pb.setInvertedAppearance(True)
5、信號
1 # 信號 2 timer = QTimer(pb) 3 4 def change_progress(): 5 # print('xxx') 6 if pb.value() == pb.maximum(): 7 timer.stop() 8 pb.setValue(pb.value() + 1) 9 10 11 timer.timeout.connect(change_progress) 12 timer.start(1000) 13 14 pb.valueChanged.connect(lambda val: print("當前進度值:", val))