天天看点

Qt Qml 汽车仪表

参考资料连接:链接: https://pan.baidu.com/s/1pLjOTWB

密码: t9d1

唯一的问题就是在绘制仪表指针的时候有锯齿

换成qml可以消除锯齿,但是我对qml不熟练啊,(┬_┬)

这里摸索出来一个间的界面,就是在aml加一个定时器,来改变角度

上源代码

import QtQuick 2.7

import QtQuick.Window 2.2

Window {

id:root
visible: true
width: 1920
height: 720
title: qsTr("Car Play")
color: "#161616"
property int pointer_angle: -135
property bool timeChangedFlag: true
function timeChanged()
{
    if(timeChangedFlag)
    {
        if(pointer_angle<135)
        {
            pointer_angle++
            if(pointer_angle == 135)
            {
                timeChangedFlag = false
            }

        }

    }
    if(!timeChangedFlag)
    {
        if(pointer_angle>-135)
        {
            pointer_angle--
            if(pointer_angle == -135)
            {
                timeChangedFlag = true
            }
        }
    }

}
Timer{
    id:pointer_timer
    interval: 40
    running: true
    repeat: true
    onTriggered: root.timeChanged()
}
Item {
    id: background
    width: root.width
    height: root.height
    anchors.centerIn: parent
    Image {
        id: background_image
        source: "qrc:/source/beijing.bmp"
    }
    Image {
        id: pointer
        x:920
        y:90
        transform: Rotation{
            origin.x:40
            origin.y:267
            angle: pointer_angle
        }
        source: "qrc:/source/222.png"
    }

}
           

}

继续阅读