一、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))