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

相关推荐
rainbow688917 分钟前
C++开源库dxflib解析DXF文件实战
开发语言·c++·开源
John_ToDebug21 分钟前
Chromium安全架构深度解析:从悬空指针检测到内存安全防御体系
c++·chrome
D_evil__28 分钟前
【Effective Modern C++】第五章 右值引用、移动语义和完美转发:24. 区分万能引用和右值引用
c++
蜡笔小马1 小时前
10.Boost.Geometry R-tree 空间索引详解
开发语言·c++·算法·r-tree
林开落L1 小时前
从零开始学习Protobuf(C++实战版)
开发语言·c++·学习·protobuffer·结构化数据序列化机制
林开落L1 小时前
从入门到了解:Protobuf、JSON、XML 核心解析(C++ 示例)
xml·c++·json·protobuffer·结构化数据序列化机制
Queenie_Charlie1 小时前
stars(树状数组)
数据结构·c++·树状数组
会周易的程序员1 小时前
openplc runtimev4 Docker 部署
运维·c++·物联网·docker·容器·软件工程·iot
爱装代码的小瓶子2 小时前
【C++与Linux基础】进程间通讯方式:匿名管道
android·c++·后端
CoderCodingNo2 小时前
【GESP】C++ 二级真题解析,[2025年12月]第一题环保能量球
开发语言·c++·算法