PyQt5 – 不同大小的填充进度条

  • Post category:Python

下面我将详细讲解Python中PyQt5库中不同大小的填充进度条的使用攻略。

导入库

首先需要导入PyQt5库:

from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

创建进度条

在创建进度条之前,需要先创建一个QVBoxLayout布局,控件的布局方式就是在这个布局中实现的,例如可以在布局中添加一些控件来调整进度条的大小、颜色等属性。然后使用QProgressBar()方法创建一个进度条:

layout = QVBoxLayout()
progress = QProgressBar()

设置进度条属性

进度条属性设置包含两个方面,一个是外层装饰框的设置(即进度条的样式),另一个是内部填充颜色的设置(即进度条的进度展示)。

设置外层装饰框样式

可以使用QProgressBar.setUniform(0)来设置外层装饰框的样式,其中0表示外层装饰框的边框大小(单位为像素),可以根据需要自行调整。如果不需要边框,可以设置为0,默认为1像素。

progress.setUniform(0)

设置进度填充颜色

使用QProgressBar.setRange(minimum, maximum)来设置进度条的范围。如果没有设置范围,进度条将不能正常工作。minimum和maximum分别是最小值和最大值。

为进度条设置颜色可以使用QProgressBar.setStyleSheet()来改变其内部颜色。使用background-color属性来改变进度条的背景颜色,color属性来改变进度条内部填充的颜色。

progress.setStyleSheet("""
    QProgressBar {
        background-color: lightgray;
        border-radius: 5px;
    } QProgressBar::chunk {
        background-color: #05B8CC;
        border-radius: 5px;
    }
""")

设置进度

进度条的进度可以使用QProgressBar.setValue(value)来设置,其中value是介于最小值和最大值之间的一个整数值。例如,设置进度为50:

progress.setValue(50)

一些示例

下面是两个示例,展示了不同大小的进度条的设置方法,其中min和max表示进度条的最小值和最大值:

示例1:设置较小的进度条

layout = QVBoxLayout()

# 设置进度条属性
progress = QProgressBar()
progress.setRange(min, max)
progress.setUniform(0)
progress.setStyleSheet("""
    QProgressBar {
        background-color: lightgray;
        border-radius: 5px;
    } QProgressBar::chunk {
        background-color: #05B8CC;
        border-radius: 5px;
    }
""")

# 设置进度条的进步
progress.setValue(60)

layout.addWidget(progress)

示例2:设置较大的进度条

layout = QVBoxLayout()

# 设置进度条属性
progress = QProgressBar()
progress.setRange(min, max)
progress.setUniform(0)
progress.setStyleSheet("""
    QProgressBar {
        background-color: lightgray;
        border-radius: 15px;
    } QProgressBar::chunk {
        background-color: #05B8CC;
        border-radius: 15px;
    }
""")

# 设置进度条的进步
progress.setValue(20)

layout.addWidget(progress)

以上就是Python中PyQt5库中不同大小的填充进度条的使用攻略啦。希望能够对你有所帮助。