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

相关推荐
liulilittle6 分钟前
SQLite3 C++ usage demo
数据库·c++·sqlite
rookie软工13 分钟前
Qt代理委托实现
开发语言·python·qt
feiyangqingyun15 分钟前
Qt/C++源码/地图控件/实时动态轨迹/历史轨迹回放/无人机/飞行轨迹/性能强悍
qt·轨迹回放·实时轨迹
leaves falling17 分钟前
C++类和对象(3)(初始化列表,类型转换,static成员,友元)
java·开发语言·c++
宵时待雨18 分钟前
C++笔记归纳15:封装map & set
开发语言·数据结构·c++·笔记·算法
不被定义的~wolf31 分钟前
qt小游戏贪吃蛇
qt
福楠33 分钟前
现代C++ | 右值引用 + std::move + noexcept
linux·c语言·开发语言·c++
格林威42 分钟前
工业相机图像采集处理:从 RAW 数据到 AI 可读图像,附海康相机 C++实战代码
开发语言·c++·人工智能·数码相机·计算机视觉·c#·工业相机
闻道且行之1 小时前
libhv 安装与使用全流程教程
c++·http·socket·libhv·c/c++
旺仔.2911 小时前
顺序容器:forward list单链表 详解
数据结构·c++·list