通过pyqt5做一个圆形水波纹进度条,同时可以在qt desinger显示出来
1条回答 默认 最新
- 流比 2022-12-25 21:13关注
import sys from PyQt5.QtWidgets import QApplication, QWidget, QProgressBar from PyQt5.QtCore import Qt class CircleProgressBar(QProgressBar): def __init__(self, parent=None): super().__init__(parent) self.setRange(0, 100) self.setAlignment(Qt.AlignCenter) self.setFormat("%p%") def paintEvent(self, event): painter = QPainter(self) painter.setRenderHint(QPainter.Antialiasing) # 绘制圆形进度条背景 painter.save() painter.setPen(Qt.NoPen) painter.setBrush(self.palette().alternateBase()) rect = self.rect().adjusted(1, 1, -1, -1) painter.drawEllipse(rect) painter.restore() # 绘制圆形进度条 painter.save() painter.setPen(Qt.NoPen) brush = self.palette().highlight() value = self.value() start_angle = 90 span_angle = -360 * value / 100 painter.setBrush(brush) painter.drawPie(rect, start_angle * 16, span_angle * 16) painter.restore() app = QApplication(sys.argv) window = QWidget() window.setWindowTitle("Circle Progress Bar") progress_bar = CircleProgressBar(window) window.show() sys.exit(app.exec_())
解决 无用评论 打赏 举报
悬赏问题
- ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
- ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
- ¥15 特定网页无法访问,已排除网页问题
- ¥50 如何将脑的图像投影到颅骨上
- ¥15 提问一个关于vscode相关的环境配置问题,就是输入中文但是显示不出来,代码在idea可以显示中文,但在vscode不行,不知道怎么配置环境
- ¥15 netcore使用PuppeteerSharp截图
- ¥20 这张图页头,页脚具体代码该怎么写?
- ¥15 关于#sql#的问题,请各位专家解答!
- ¥20 WPF MVVM模式 handycontrol 框架, hc:SearchBar 控件 Text="{Binding NavMenusKeyWords}" 绑定取不到值
- ¥15 需要手写数字信号处理Dsp三个简单题 不用太复杂