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

相关推荐
bnmoel8 分钟前
C++ 基础入门篇(六)类和对象-第三篇:运算符重载
开发语言·c++·算法·语法·运算符重载
橙橙笔记14 分钟前
QT安卓软件的制作
android·git·qt·软件
小七在进步29 分钟前
初识C++中的模板
java·开发语言·c++
垆边人似月.41 分钟前
华为题:合并区间
数据结构·c++·算法
芦芭荞1 小时前
QT使用xml模版生成word文档
xml·qt·word
低频电磁之道1 小时前
C++ 中有符号与无符号类型混用可能导致的问题
开发语言·c++
mengzhi啊1 小时前
qt把结构体数据存入json文件
qt·json
垆边人似月.1 小时前
华为题:滑动窗口最大值
数据结构·c++·算法
菩提树下的凡夫1 小时前
OPenCV4.8与OpenCV5.0的区别
c++·opencv
要练八块腹肌1 小时前
map和set介绍与使用
c++