PyQt5_QProgressBar_进度条展示控件

QProgressBar 进度条展示控件,提示用户 当前程序仍在运行中,展示了当前的进度信息


from PyQt5.Qt import *

class MyWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('QProgressBar')
        self.resize(500,500)
        self.iniUI()

    def iniUI(self):
        pb = QProgressBar(self)
        pb.resize(self.width()/2,self.height()/15)
        pb.move(self.width()/4,self.height()*0.8/2)
        pb.setRange(0,100)
        pb.setValue(50)

        # #################################进度条重置pb.reset()
        #
        # 进度条重置之后 进度条的范围都不会变,
        #               唯一改变的就是进度条的当前值 变为最小值减一

        btn = QPushButton(self)
        btn.setText('重置按钮')
        btn.move(pb.x()+pb.width()*2/5,pb.y()+pb.height()*4)
        def test():
            pb.reset()
            print(pb.minimum())
            print(pb.maximum())
            print(pb.value())
        btn.clicked.connect(test)
        
        
        ##############################################进度条的数值类型 显示设置
        #
        # 现在需求:
        #           进度条显示设置
        #
        # 解决方法: 
        #           pb.setFormat()
        #           当前值  %v
        #           总值   %m



        pb.setFormat('当前值%v 百分比%p 已加载{},总共 %m'.format(pb.value()-pb.minimum()))
        pb.setFormat(' 已加载百分之%p ')
        #############################进度条的数值类型 显示设置

        pb.setTextVisible(True)#设置文本标签可见
        # pb.setOrientation(Qt.Vertical)
        # pb.resize(self.height()/15,self.width()/2)



        ##############################################创建一个每隔一秒加载1%的进度条
        #
        # 现在需求:
        #           创建一个每隔一秒加载1%的进度条
        #
        # 解决方法:
        #
        #           创建一个QTimer对象
        #           监听timer对象的timeout事件 并触发修改进度条当前值的行为
        #
        timer = QTimer(pb)

        def progress_chg():
            if pb.value()==pb.maximum():
                timer.stop()
            pb.setValue(pb.value() + 10)



        timer.timeout.connect(progress_chg)
        timer.start(1000)
        pb.valueChanged.connect(lambda val:print('当前进度为:',val))

        #############################创建一个每隔一秒加载1%的进度条



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


    win = MyWindow()
    win.show()
    sys.exit(app.exec_())

在这里插入图片描述

  • 0
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值