【pyqt5学习】——进度条progressBar

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

常用方法

方法说明
setRangeQProgressBar.setRange(min, Max)通过 setRange 方法设定步骤个数
setValueQProgressBar.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()设置进度条重新开始
setOrientationQProgressBar.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()属性包含用于生成当前文本的字符串
setInvertedAppearancesetInvertedAppearance(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

  • 6
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要在PyQt5中添加进度条,可以使用QProgressBar类。首先,需要导入QProgressBar类的模块函数,如下所示:\[1\] ```python from PyQt5.QtWidgets import QProgressBar ``` 然后,可以创建一个QProgressBar对象,并设置其样式和属性,如下所示: ```python progressBar = QProgressBar() progressBar.setStyleSheet("QProgressBar { border: 2px solid grey; border-radius: 5px; background-color: #FFFFFF; text-align: center;}") progressBar.setValue(0) # 设置初始值 ``` 可以根据需要设置进度条的样式,包括边框、背景颜色等。然后,使用setValue()方法设置进度条的当前值。 接下来,将进度条添加到窗口中的适当位置,例如布局或者窗口的特定区域。 最后,可以使用定时器来更新进度条的值,以模拟进度的增加。可以使用QTimer类来创建定时器,并使用timeout信号连接到更新进度条的函数。在函数中,可以使用setValue()方法来递增进度条的值,并在达到100%时执行相应的操作,如关闭窗口或跳转到下一个窗口。\[3\] ```python from PyQt5.QtCore import QTimer def set_loader(): timer = QTimer() timer.timeout.connect(load_progress_bar) timer.start(100) def load_progress_bar(): progressBar.setValue(progressBar.value() + 1) if progressBar.value() >= 100: # 执行相应的操作,如关闭窗口或跳转到下一个窗口 timer.stop() ``` 这样,就可以在PyQt5中添加进度条并实现相应的功能了。 #### 引用[.reference_title] - *1* [PyQt5进度条:QProgressBar](https://blog.csdn.net/weixin_43990846/article/details/123880081)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [(3) PyQt5 实现漂亮进度条 ProgressBar](https://blog.csdn.net/lildkdkdkjf/article/details/121955573)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值