Qt Qml代码实现的仪表盘动画
效果:
Qt Qml 仪表盘动画
Qt Qml 代码实现仪表盘动画
Qt Qml 仪表盘动画
部分Qml代码:
import QtQuick 2.0Item {width: 2 * radiusheight: 2 * radiusrequired property double radiusproperty double airspeed: 0property double angle: 0onAirspeedChanged: update();function update(){angle = airspeedif (angle < 0.0) angle = 0.0else if (angle > 235.0) angle = 235.0if (angle < 40.0) angle = 0.9 * angleelse if (angle < 70.0) angle = 36.0 + 1.8 * (angle - 40.0)else if (angle < 130.0) angle = 90.0 + 2.0 * (angle - 70.0)else if (angle < 160.0) angle = 210.0 + 1.8 * (angle - 130.0)else angle = 264.0 + 1.2 * (angle - 160.0)}CustomImage {anchors.fill: parentsource: "../Resources/asi/asi_face.svg"}CustomImage {anchors.fill: parentsource: "../Resources/asi/asi_case.svg"}CustomImage {anchors.fill: parentsource: "../Resources/asi/asi_hand.svg"rotation: angle}}