9.3 QProgressBar进度条展示控件

一、QProgressBar进度条展示控件

1.基本概念

  • QProgressBar进度条展示控件一般用于给用户提供下载上传进度的小部件,在学习QProgressBar进度条展示控件的时候主要是状态,格式,文本操作,外观和信号等。

2.代码

点击查看代码
from PyQt5.Qt import *
import sys


class Window(QWidget) :
    def __init__(self) :
        super().__init__()
        self.setWindowTitle("展示控件-QProgressBar进度条展示控件 - PyQt5中文网")
        self.resize(600, 500)
        self.func_list()

    def func_list(self) :
        self.func()

    def func(self) :
        #1. 创建
        pgb = QProgressBar(self)
        pgb.move(150, 150)
        # pgb.resize(200, 30)
        
        ##2.设置最大值、最小值、范围、初始值
        # pgb.setMinimum(0)
        # pgb.setMaximum(100)
        pgb.setRange(0, 100) #范围
        # pgb.setRange(0, 0)  # 繁忙状态
        pgb.setValue(0) #初始值

        ##3.重置进度条、获取进度
        # pgb.reset()  # 重置进度条,当前值会变成最小值减一
        # pgb.value()  # 获取进度

        ## 4.格式设置
        # %p:百分比   %v:当前值   %m:总值
        # pgb.setFormat('当前进度:%v , 总共:%m , 下载比例:%p%')
        pgb.setFormat('当前进度:{}'.format(pgb.value() - pgb.minimum()))
        # pgb.resetFormat()  # 重置数据
        pgb.setAlignment(Qt.AlignHCenter)  # 下载进度水平居中

        ## 5.文本操作
        pgb.setTextVisible(True)
        print(pgb.text())

        ## 6.水平方向、竖直方向展示
        # pgb.setOrientation(Qt.Vertical)  # 垂直拜访
        pgb.setOrientation(Qt.Horizontal)  # 水平拜访

        ## 7.倒立输出
        pgb.setInvertedAppearance(False)

        # 8.可用信号
        # pgb.valueChanged()
        time = QTimer(pgb)
        ## 槽函数
        def test() :
            if pgb.value() == pgb.maximum() :
                time.stop()
            pgb.setValue(pgb.value() + 5)
            pgb.setFormat('当前进度:{}'.format(pgb.value() - pgb.minimum()))  #--->可用作各类行为判定的概率的输出

        time.timeout.connect(test)
        time.start(1000)
        pgb.setFormat('当前进度:{}'.format(pgb.value() - pgb.minimum()))
        pgb.valueChanged.connect(lambda val : print('当前下载', val))


if __name__ == '__main__' :
    app = QApplication(sys.argv)
    window = Window()

    window.show()
    sys.exit(app.exec_())

## 3.效果 ![](https://img2022.cnblogs.com/blog/2520904/202204/2520904-20220413202932425-348834628.gif)
posted @   Trouvaille_fighting  阅读(202)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示

目录导航