Qt官方示例-速度仪表盘
- 2019 年 10 月 11 日
- 筆記
该刻度盘控件为一个速度仪表盘。
预览

运行演示

分析
- 采用Qml语言实现;
- 使用到了图片素材(刻度盘,指示器,指示器阴影,覆盖层);

- 它结合了Image元素,Rotation变换和SpringAnimation行为,用来组合生成交互式的速度仪表盘。
- 核心代码:
Item { id: root property real value : 0 width: 210; height: 210 Image { source: "background.png" } //! [needle_shadow] Image { x: 96 y: 35 source: "needle_shadow.png" transform: Rotation { origin.x: 9; origin.y: 67 angle: needleRotation.angle } } //! [needle_shadow] //! [needle] Image { id: needle x: 98; y: 33 antialiasing: true source: "needle.png" transform: Rotation { id: needleRotation origin.x: 5; origin.y: 65 //! [needle angle] angle: Math.min(Math.max(-130, root.value*2.6 - 130), 133) Behavior on angle { SpringAnimation { spring: 1.4 damping: .15 } } //! [needle angle] } } //! [needle] //! [overlay] Image { x: 21; y: 18; source: "overlay.png" } //! [overlay] }
关于更多
- 在QtCreator软件可以找到

- 或在你的Qt安装目录
C:Qt{你的Qt版本}Examples{你的Qt版本}quickcustomitemsdialcontrol
找到。 - 相关链接
https://doc.qt.io/qt-5/qtquick-customitems-dialcontrol-example.html