下面是关于PyQt5中删除进度条上的百分比符号的使用攻略。
1. 问题描述
在PyQt5中使用QProgressBar
时,默认情况下会在进度条上显示当前的百分比。如果想要删除这个百分比符号,需要进行一些额外的设置步骤。
2. 解决方法
2.1 使用setFormat函数
QProgressBar
类的setFormat
函数可以设置进度条上显示的文本格式。如果想要删除百分比符号,将格式设置为""即可。示例代码:
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QWidget, QProgressBar, QVBoxLayout
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.progress = QProgressBar(self)
self.progress.setGeometry(10, 10, 200, 25)
self.progress.setMaximum(100)
self.progress.setMinimum(0)
self.progress.setValue(50)
self.progress.setFormat("")
vbox = QVBoxLayout()
vbox.addWidget(self.progress)
self.setLayout(vbox)
self.setGeometry(300, 300, 250, 100)
self.setWindowTitle('QProgressBar')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
2.2 通过重写paintEvent函数
还可以通过重写QProgressBar
类的paintEvent
函数,实现自定义的绘制进度条效果。示例代码:
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPainter, QColor
from PyQt5.QtWidgets import QApplication, QWidget, QProgressBar, QVBoxLayout
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.progress = MyProgressBar(self) # 自定义进度条类
self.progress.setGeometry(10, 10, 200, 25)
self.progress.setMaximum(100)
self.progress.setMinimum(0)
self.progress.setValue(50)
vbox = QVBoxLayout()
vbox.addWidget(self.progress)
self.setLayout(vbox)
self.setGeometry(300, 300, 250, 100)
self.setWindowTitle('QProgressBar')
self.show()
class MyProgressBar(QProgressBar):
def paintEvent(self, event):
opt = QProgressBar().initStyleOption()
self.initStyleOption(opt)
opt.textVisible = False # 关闭文本显示
opt.progress = 30 # 设置进度值
painter = QPainter(self)
painter.setRenderHint(QPainter.Antialiasing)
QProgressBar().drawBackground(painter, opt)
QProgressBar().drawContents(painter, opt)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
3. 总结
在PyQt5中删除进度条上的百分比符号可以通过setFormat
函数或者重写paintEvent
函数两种方法实现。根据具体需求进行选择即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5 – 如何删除进度条上的百分比符号 - Python技术站