📅  最后修改于: 2023-12-03 15:03:56.589000             🧑  作者: Mango
在PyQt5中,进度条是常用的界面元素之一。除了标准的进度条之外,你还可以使用半透明的进度条来提高UI的美观性。本文将介绍如何使用PyQt5实现一个带有半透明条的进度条。
导入PyQt5库:
from PyQt5 import QtWidgets, QtGui, QtCore
创建一个QProgressBar实例:
progress_bar = QtWidgets.QProgressBar()
将进度条设置为带有文本标签:
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; }')
background-color
:进度条的背景颜色,使用rgba格式可以实现半透明效果。border
:进度条的边框宽度和颜色。border-radius
:进度条边角的圆角半径。text-align
:进度条文本的对齐方式。::chunk
:进度条填充部分的样式,例如背景颜色和圆角半径。将进度条添加到UI界面中:
layout.addWidget(progress_bar)
设置进度条的值:
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_()