Qt Qml实现仪表盘动画

Qt Qml代码实现的仪表盘动画

效果:

Qt Qml 仪表盘动画

Qt Qml 代码实现仪表盘动画

Qt Qml 仪表盘动画

部分Qml代码:

复制代码
import QtQuick 2.0

Item {
    width: 2 * radius
    height: 2 * radius

    required property double radius
    property double airspeed: 0
    property double angle: 0

    onAirspeedChanged: update();

    function update(){
        angle = airspeed

        if      (angle <   0.0) angle =   0.0
        else if (angle > 235.0) angle = 235.0

        if      (angle <  40.0) angle =          0.9 *  angle
        else 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: parent
        source: "../Resources/asi/asi_face.svg"
    }

    CustomImage {
        anchors.fill: parent
        source: "../Resources/asi/asi_case.svg"
    }

    CustomImage {
        anchors.fill: parent
        source: "../Resources/asi/asi_hand.svg"
        rotation: angle
    }

}

代码下载:

https://download.csdn.net/download/qq_38159549/88251636

相关推荐
椰子今天很可爱2 小时前
仿照muduo库实现一个高并发服务器
linux·服务器·c++
lizz317 小时前
C++模板编程:从入门到精通
java·开发语言·c++
Queenie_Charlie8 小时前
HASH表
数据结构·c++·哈希算法
superman超哥9 小时前
仓颉语言中锁的实现机制深度剖析与并发实践
c语言·开发语言·c++·python·仓颉
郝学胜-神的一滴9 小时前
OpenGL的glDrawElements函数详解
开发语言·c++·程序人生·游戏·图形渲染
WBluuue9 小时前
AtCoder Beginner Contest 436(ABCDEF)
c++·算法
辣机小司10 小时前
【软件设计师】自编思维导图和学习资料分享(中级已过)
java·c++·软考·软件设计师
json{shen:"jing"}10 小时前
1-C语言的数据类型
c语言·c++·算法
刺客xs10 小时前
Qt------信号槽,属性,对象树
开发语言·qt·命令模式
名誉寒冰11 小时前
GDB 调试与 Core Dump(段错误)排查指南(Linux/C/C++)
linux·c语言·c++