📅  最后修改于: 2023-12-03 14:45:50.451000             🧑  作者: Mango
PyQt5是一个流行的Python GUI工具包,它是基于Qt图形用户界面工具包开发的。PyQt5提供了大量的GUI组件,如按钮、文本框、列表框等等,其中包括进度条组件。本文将介绍如何在PyQt5中创建一个垂直进度条。
在PyQt5中创建垂直进度条需要使用QProgressBar
类。首先需要导入PyQt5相关模块,并创建一个应用程序对象:
import sys
from PyQt5.QtWidgets import QApplication, QProgressBar, QVBoxLayout, QWidget
app = QApplication(sys.argv)
然后,创建一个垂直进度条对象并将其添加到一个垂直布局中:
progress = QProgressBar()
layout = QVBoxLayout()
layout.addWidget(progress)
widget = QWidget()
widget.setLayout(layout)
widget.show()
这里使用了QVBoxLayout
类来创建一个垂直布局并将进度条添加到其中。最后,将布局设置为应用程序的主要窗口并显示窗口:
app.setLayout(layout)
sys.exit(app.exec_())
默认情况下,QProgressBar
对象的最小值为0,最大值为100。要设置不同的范围,可以使用setMinimum
和setMaximum
方法:
progress.setMinimum(0)
progress.setMaximum(50)
此代码将进度条的最大值设置为50。要设置进度条的当前值,可以使用setValue
方法:
progress.setValue(25)
此代码将进度条设置为25(以50为最大值)。
要在进度条上添加动画效果,可以使用QProgressBar
对象的setStyleSheet
方法。这个方法接受一个CSS样式表,使用其中的::chunk
选择器可以修改进度条的前景色:
progress.setStyleSheet("""
QProgressBar {
border: 2px solid grey;
border-radius: 5px;
color: grey;
height: 15px;
width: 50px;
}
QProgressBar::chunk {
background-color: #CD96CD;
width: 10px;
}
""")
此代码将进度条的前景色设置为紫罗兰色,并缩小了进度条的宽度以显示动画效果。
import sys
from PyQt5.QtWidgets import QApplication, QProgressBar, QVBoxLayout, QWidget
app = QApplication(sys.argv)
progress = QProgressBar()
progress.setMinimum(0)
progress.setMaximum(50)
progress.setValue(25)
progress.setStyleSheet("""
QProgressBar {
border: 2px solid grey;
border-radius: 5px;
color: grey;
height: 15px;
width: 50px;
}
QProgressBar::chunk {
background-color: #CD96CD;
width: 10px;
}
""")
layout = QVBoxLayout()
layout.addWidget(progress)
widget = QWidget()
widget.setLayout(layout)
widget.show()
app.setLayout(layout)
sys.exit(app.exec_())
以上代码将创建一个垂直进度条,范围为0到50,当前值为25,还包括动画效果。