QProgressBar 是什么?
进度条用于向用户提供操作进度的指示,并提示用户应用程序仍在运行。
进度条使用了范围的概念。通过指定最小和最大值来设定范围,之后会按百分比来显示范围。百分比是通过(value()-minimum())/(maximum()-minimum())来计算的。
您可以使用setMinimum() 和setMaximum()指定最小和最大值。使用setValue()设置当前值。进度条可以用reset()重新开始。
如果最小和最大值都设置为0,状态栏将显示一个繁忙的标志,而不是百分比,您可以设置看效果。例如,当QNetworkAccessManager 无法确定要下载的项目的大小时,使用繁忙标志显示非常合适。
看完整代码:
from PySide2.QtWidgets import QApplication, QMainWindow, QProgressBar, QStatusBar, QLabel
import sys
from PySide2.QtGui import QIcon
class Window(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle("ProgressBar")
self.setGeometry(300,200,500,400)
self.statusLabel = QLabel("Showing Progress")
self.progressbar = QProgressBar()
self.progressbar.setMinimum(0)
self.progressbar.setMaximum(100)
self.setIcon()
self.createStatusBar()
def setIcon(self):
appIcon = QIcon("icon.png")
self.setWindowIcon(appIcon)
def createStatusBar(self):
self.statusBar = QStatusBar()
self.progressbar.setValue(10)
self.statusBar.addWidget(self.statusLabel, 1)
self.statusBar.addWidget(self.progressbar, 2)
self.setStatusBar(self.statusBar)
myapp = QApplication(sys.argv)
window = Window()
window.show()
myapp.exec_()
sys.exit()
执行结果:
如果不清楚其它代码含义,请参考前面课程:
Python界面编程第一课:我们开始用Pyside2 (Qt For Python)
Python界面编程第二课:Pyside2 创建窗口 (Python GUI)
Python界面编程第三课:Pyside2 (Qt For Python)给窗口加个图标
Python界面编程第四课:Pyside2 (Qt For Python)创建图标模式
Python界面编程第五课:Pyside2 (Qt For Python)怎么创建控件提示Tooltip
Python界面编程第六课:Pyside2 (Qt For Python),QPushButton按钮的信号与槽
Python界面编程第七课:Pyside2 (Qt For Python)窗口居中
Python界面编程第八课:Pyside2 (Qt For Python)打开关于窗口