前言:进入学习Python开发上位机界面的第二阶段,学习如何开发自定义控件,从常用的控件入手学习,本期主要学习如何使用PyQt5绘制水波浪形的柱状显示流量。但是最后我放弃了,因为水波的效果达不到我想要的。
1. 明确想要实现的控件效果
我想实现的效果是制作一个水波浪形的柱状控件用于显示流量。
要想实现的效果如下:

先来拆解需求:
明确水波浪形的柱状图需要具备的属性:
(1)用户设置流量数值,柱状图的水波能够到达相应的水平线;
(2)显示流量的水波柱的背景颜色应该允许用户设置;
(3)显示流量的水波柱的波浪浮动应该是两个波浪浮动曲线组成的,并且可以通过颜色的深浅看出是两个水波浪浮动,下层水波浪颜色深些;
2. 搬运代码
一个漂亮的水波浪动画效果:

附上可以直接运行的Python代码:
import sys
import math
from PyQt5.QtWidgets import QApplication, QWidget
from PyQt5.QtGui import QPainter, QColor, QPen
from PyQt5.QtCore import Qt, QRect, QTimer
class WaterWaveWidget(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(100, 100, 800, 400)
self.setWindowTitle("Water Wave Flow Meter")
self.wave1_amplitude = 50 # Amplitude for the first wave
self.wave2_amplitude = 30 # Amplitude for the second wave
self.wave_length = 200 # Length of one wave cycle
self.phase_shift = 0

最低0.47元/天 解锁文章
3291

被折叠的 条评论
为什么被折叠?



