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

相关推荐
物极必反10242 小时前
QT使用FFMpeg编译安卓程序.md
qt·ffmpeg·安卓
shada2 小时前
CMake指定 MSVC 工具集与 Windows SDK
c++·windows
垆边人似月.2 小时前
华为机考题:矩阵中的最长递增路径
c语言·c++
A7bert7772 小时前
【SAM3部署至AGX Orin】环境配置→模型部署→问题记录
c++·人工智能·深度学习·ubuntu
longlongzihan2 小时前
LeetCode 56合并区间:排序与贪心
c++·算法·leetcode
程序员老陆2 小时前
C++ 继承方式:公有、保护、私有,到底在控制什么
开发语言·c++
坤坤子吖2 小时前
C++11——Lambda、function、bind 与可调用对象
c++·笔记·学习
白杨尚青3 小时前
C++入门篇(十一):string(中)——容量与增删改查:一篇吃透所有常用接口(万字详解)
java·开发语言·c++
朔北之忘 Clancy3 小时前
2024 CSP-J 第二轮真题解析
c++·算法·青少年编程·noip·csp·信奥赛·noi
Lazionr3 小时前
set和map的使用——从基础接口到实际应用
c++