diff --git a/QProgressBar/README.md b/QProgressBar/README.md index eba728f..c1e72f0 100644 --- a/QProgressBar/README.md +++ b/QProgressBar/README.md @@ -6,6 +6,7 @@ - [百分比进度条](#3百分比进度条) - [Metro进度条](#4Metro进度条) - [水波纹进度条](#5水波纹进度条) + - [圆形水位进度条](#6圆形水位进度条) ## 1、常规样式美化 [运行 SimpleStyle.py](SimpleStyle.py) @@ -36,4 +37,11 @@ 2. 利用 `QPainterPath` 矩形或者圆形作为背景 3. 用 `QPainterPath` 把y坐标用 `lineTo` 连接起来形成一个U字形+上方波浪的闭合区间 -![WaterProgressBar](ScreenShot/WaterProgressBar.gif) \ No newline at end of file +![WaterProgressBar](ScreenShot/WaterProgressBar.gif) + +## 6、圆形水位进度条 +[运行 WaterProgress.py](WaterProgress.py) + +参考 https://github.com/linuxdeepin/dtkwidget/blob/master/src/widgets/dwaterprogress.cpp + +![WaterProgressBar](ScreenShot/WaterProgress.gif) diff --git a/QProgressBar/ScreenShot/WaterProgress.gif b/QProgressBar/ScreenShot/WaterProgress.gif new file mode 100644 index 0000000..f434c17 Binary files /dev/null and b/QProgressBar/ScreenShot/WaterProgress.gif differ diff --git a/QProgressBar/WaterProgress.py b/QProgressBar/WaterProgress.py new file mode 100644 index 0000000..1188db6 --- /dev/null +++ b/QProgressBar/WaterProgress.py @@ -0,0 +1,50 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +""" +Created on 2021/1/1 +@author: Irony +@site: https://pyqt5.com , https://github.com/892768447 +@email: 892768447@qq.com +@file: WaterProgress +@description: +""" +import sys + +from Lib.DWaterProgress import DWaterProgress +from PyQt5.QtCore import QTimer +from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout + + +class WaterProgressWindow(QWidget): + + def __init__(self, *args, **kwargs): + super(WaterProgressWindow, self).__init__(*args, **kwargs) + layout = QVBoxLayout(self) + + self.progress = DWaterProgress(self) + self.progress.setFixedSize(100, 100) + self.progress.setValue(0) + self.progress.start() + + layout.addWidget(self.progress) + + self.timer = QTimer(self, timeout=self.updateProgress) + self.timer.start(50) + + def updateProgress(self): + value = self.progress.value() + if value == 100: + self.progress.setValue(0) + else: + self.progress.setValue(value + 1) + + +if __name__ == '__main__': + import cgitb + + cgitb.enable(format='text') + app = QApplication(sys.argv) + w = WaterProgressWindow() + w.show() + sys.exit(app.exec_()) diff --git a/README.md b/README.md index 980ef2f..963f839 100644 --- a/README.md +++ b/README.md @@ -123,6 +123,7 @@ https://pyqt.site 论坛是专门针对PyQt5学习和提升开设的网站,分 - [百分比进度条](QProgressBar/PercentProgressBar.py) - [Metro进度条](QProgressBar/MetroCircleProgress.py) - [水波纹进度条](QProgressBar/WaterProgressBar.py) + - [圆形水位进度条](QProgressBar/WaterProgress.py) - [QSplashScreen](QSplashScreen) - [启动画面动画](QSplashScreen/GifSplashScreen.py) - [QOpenGLWidget](QOpenGLWidget)