主要改变背景颜色、高度、边框、块颜色、边框、圆角
- 利用正弦函数根据0-width的范围计算y坐标
- 利用
QPainterPath
矩形或者圆形作为背景 - 用
QPainterPath
把y坐标用lineTo
连接起来形成一个U字形+上方波浪的闭合区间
参考 https://github.com/linuxdeepin/dtkwidget/blob/master/src/widgets/dwaterprogress.cpp
动画实现参考 qfusionstyle.cpp 中的 CE_ProgressBarContents 绘制方法