📜  PyQt5 - 进度条的半透明条(1)

📅  最后修改于: 2023-12-03 15:03:56.589000             🧑  作者: Mango

PyQt5 - 进度条的半透明条

在PyQt5中,进度条是常用的界面元素之一。除了标准的进度条之外,你还可以使用半透明的进度条来提高UI的美观性。本文将介绍如何使用PyQt5实现一个带有半透明条的进度条。

实现步骤
  1. 导入PyQt5库:

    from PyQt5 import QtWidgets, QtGui, QtCore
    
  2. 创建一个QProgressBar实例:

    progress_bar = QtWidgets.QProgressBar()
    
  3. 将进度条设置为带有文本标签:

    progress_bar.setFormat('Loading: %v/%m')
    
  4. 设置进度条的样式:

    progress_bar.setStyleSheet('QProgressBar { background-color: rgba(255, 255, 255, 0.5); border: 2px solid grey; border-radius: 5px; text-align: center; } QProgressBar::chunk { background-color: #CD96CD; border-radius: 3px; }')
    
    • background-color:进度条的背景颜色,使用rgba格式可以实现半透明效果。
    • border:进度条的边框宽度和颜色。
    • border-radius:进度条边角的圆角半径。
    • text-align:进度条文本的对齐方式。
    • ::chunk:进度条填充部分的样式,例如背景颜色和圆角半径。
  5. 将进度条添加到UI界面中:

    layout.addWidget(progress_bar)
    
  6. 设置进度条的值:

    progress_bar.setValue(50)
    
完整代码
from PyQt5 import QtWidgets, QtGui, QtCore

class MainWindow(QtWidgets.QMainWindow):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        # 创建主窗口
        self.setWindowTitle('PyQt5 - 进度条的半透明条')
        self.setGeometry(300, 300, 400, 200)

        # 创建水平布局
        layout = QtWidgets.QHBoxLayout()

        # 创建进度条
        progress_bar = QtWidgets.QProgressBar()
        progress_bar.setRange(0, 100)
        progress_bar.setFormat('Loading: %v/%m')
        progress_bar.setStyleSheet('QProgressBar { background-color: rgba(255, 255, 255, 0.5); border: 2px solid grey; border-radius: 5px; text-align: center; } QProgressBar::chunk { background-color: #CD96CD; border-radius: 3px; }')
        progress_bar.setValue(50)

        # 将进度条添加到布局中
        layout.addWidget(progress_bar)

        # 创建主窗口部件并设置布局
        widget = QtWidgets.QWidget()
        widget.setLayout(layout)

        # 设置主窗口的中心部件
        self.setCentralWidget(widget)

        # 显示窗口
        self.show()

app = QtWidgets.QApplication([])
win = MainWindow()
app.exec_()
运行效果

PyQt5 - 进度条的半透明条