【pyqt5学习】——进度条progressBar

# 进度条
self.progressBar.setValue(0) # 设置进度条的最小值
self.progressBar.setMaximum(100) # 设置进度条的最大值
# 设置进度条当前值
self.progressBar.setValue((int(curindex/excelNum)*100))

常用方法

方法 说明
setRange QProgressBar.setRange(min, Max) 通过 setRange 方法设定步骤个数
setValue QProgressBar.setValue(number) QProgressBar.setValue()该方法设置进度条的当前值,value值不停地增加,进度就在增加
例如:setValue(5) :  假如整个step是10,则表示完成整个步骤的5/10,即50%
setMaximum() 0 — 99
例如:QProgressBar.setMaximum(99)
设置step的最大值,默认值是99
例如:QProgressBar.setMaximum(99)   表示step最大值为99
setMinimum() 0 — 99
例如:QProgressBar.setMinimum(0)
设置stepd最小值,默认值是0
例如:QProgressBar.setMinimum(0)   表示step最小值为0
reset() QProgressBar.reset() 设置进度条重新开始
setOrientation QProgressBar.setOrientation(Qt.Horizontal)
QProgressBar.setOrientation(Qt.Vertical)
QProgressBar.setOrientation()该属性设置了进度条的方向;
方向必须是Qt.Horizontal(默认,水平)或Qt.Vertical(垂直)
注意:水平和垂直,需导入 from PyQt5.QtCore import Qt
setFormat %p% — 被完成的百分比取代
%v% — 被当前值替换
%m% — 被总step所取代
默认值是 : %p%
注意:如果没有加第二个%(即%p),显示的指数则没有%
QProgressBar.setFormat()属性包含用于生成当前文本的字符串
setInvertedAppearance setInvertedAppearance(True)
setInvertedAppearance(False)
设置进度条的走向;
QProgressBar.setInvertedAppearance(True)   进度条从左到右(水平进度条)/从上到下(垂直进度条)
QProgressBar.setInvertedAppearance(False)   进度条从右到左(水平进度条)/从下到上(垂直进度条)

 实例:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QProgressBar
from PyQt5.QtCore import QBasicTimer


class MyClass(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.resize(300, 200)
        # 载入进度条控件
        self.pgb = QProgressBar(self)
        self.pgb.move(50, 50)
        self.pgb.resize(250, 20)

        # 配置一个值表示进度条的当前进度
        self.pv = 0

        # 申明一个时钟控件
        self.timer1 = QBasicTimer()

        # 设置进度条的范围
        self.pgb.setMinimum(0)
        self.pgb.setMaximum(100)
        self.pgb.setValue(self.pv)
        # 载入按钮
        self.btn = QPushButton("开始", self)
        self.btn.move(50, 100)
        self.btn.clicked.connect(self.myTimerState)
        self.show()

    def myTimerState(self):
        if self.timer1.isActive():
            self.timer1.stop()
            self.btn.setText("开始")
        else:
            self.timer1.start(100, self)
            self.btn.setText("停止")

    def timerEvent(self, e):
        if self.pv == 100:
            self.timer1.stop()
            self.btn.setText("完成")
        else:
            self.pv += 1
            self.pgb.setValue(self.pv)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    mc = MyClass()
    app.exec_()

 

参考:

PyQt5 进度条(QProgressBar)的使用 - Q公子 - 博客园icon-default.png?t=LA92https://www.cnblogs.com/itwangqiang/articles/14959401.html

猜你喜欢

转载自blog.csdn.net/qq_45769063/article/details/121267108