QML 双波进度条:错相双层与对向双层
目录
- Demo 双波进度条
- 演示代码(错相双层)
- 关键逻辑解析(错相双层)
- 演示代码(对向双层)
- 关键逻辑解析(对向双层)
- 运行验证
- 扩展复用方向
- 工程下载
双波进度条在水波进度条基础上叠加两层波浪——两层波可以同向流动但相位错开(错相双层),也可以反向流动交叉扰动(对向双层)。这种形式比单层水波更有层次感,两层波峰交错或交叉时形成可见的双层纹理,视觉上更丰富。QML 用 Canvas 画两层波形路径,配合NumberAnimation驱动time让两层波持续流动。
Demo 双波进度条
两种双波进度条同屏排开:错相双层(蓝色,两层同向相位错开)、对向双层(绿色,两层反向交叉),底部一根滑杆统一控制进度。
涉及的核心知识点:
- 圆形裁剪限制波形范围
- 水位基线映射进度
- 两层波相位错开 π 的 0.7
- 两层波反向流动交叉
- 两层透明色叠加
- 两层动画速度不同
以下演示代码来自qml_progress/Demo_DualWaveBar.qml,为便于阅读,只展示了关键代码。
演示代码(错相双层)
先看两层波同向、相位错开的结构:
FadeInAnimation { ColumnLayout { a