Skip to content

Commit

Permalink
圆形水位进度条
Browse files Browse the repository at this point in the history
  • Loading branch information
892768447 committed Jan 1, 2021
1 parent bda63d8 commit 1fa64ba
Show file tree
Hide file tree
Showing 4 changed files with 60 additions and 1 deletion.
10 changes: 9 additions & 1 deletion QProgressBar/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
- [百分比进度条](#3百分比进度条)
- [Metro进度条](#4Metro进度条)
- [水波纹进度条](#5水波纹进度条)
- [圆形水位进度条](#6圆形水位进度条)

## 1、常规样式美化
[运行 SimpleStyle.py](SimpleStyle.py)
Expand Down Expand Up @@ -36,4 +37,11 @@
2. 利用 `QPainterPath` 矩形或者圆形作为背景
3.`QPainterPath` 把y坐标用 `lineTo` 连接起来形成一个U字形+上方波浪的闭合区间

![WaterProgressBar](ScreenShot/WaterProgressBar.gif)
![WaterProgressBar](ScreenShot/WaterProgressBar.gif)

## 6、圆形水位进度条
[运行 WaterProgress.py](WaterProgress.py)

参考 https://github.com/linuxdeepin/dtkwidget/blob/master/src/widgets/dwaterprogress.cpp

![WaterProgressBar](ScreenShot/WaterProgress.gif)
Binary file added QProgressBar/ScreenShot/WaterProgress.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
50 changes: 50 additions & 0 deletions QProgressBar/WaterProgress.py
Original file line number Diff line number Diff line change
@@ -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: [email protected]
@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_())
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit 1fa64ba

Please sign in to comment.