• PyQt5Day28--展示控件QProgressBar(进度条)


    一、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))
  • 相关阅读:
    Analyzing the Go runtime scheduler from source code perspective
    golang教材
    Kafka#4:存储设计 分布式设计 源码分析
    机器学习应该准备哪些数学预备知识?
    Why does deep learning work?
    Deep Reinforcement Learning
    How do I learn machine learning?
    What are some good books/papers for learning deep learning?
    why deep learning works
    AI 名校课程&书籍 需要学习
  • 原文地址:https://www.cnblogs.com/fengxb1213/p/12829141.html
Copyright © 2020-2023  润新知