QtQuick Gauge Needle旋转动画不流畅

时间:2017-04-07 11:09:27

标签: javascript qt animation qml qt-quick

我试图使用QtQuick创建一个简单的仪表。我面临的问题是针旋转不顺畅。当针角度变为较高值时,针头不能平稳移动,运动中有一些抖动,也感觉像多针移动。我尝试使用大多数可用的Animations Types和Easing类型,但结果是否定的。

main.qml

import QtQuick 2.0

Rectangle {
visible: true
width: 800
height: 800
color: "#00000000"

// My Needle
Rectangle{
    id: id_needle
    x: 350
    y: 350
    width: 300
    height: 5
    color: "red"
    antialiasing: true
    smooth: true
    transform: Rotation {
        id: rotation
        origin.x: 3
        origin.y: 3
        angle: 0

        Behavior on angle {

            NumberAnimation{
                duration: 1500
                easing.type: Easing.OutQuad
            }
        }
    }
}

// Sample Timer to update needle angle
Timer{
    id: tim
    repeat: true
    running: true
    interval: 2000
    onTriggered: {

        var data = Math.floor(Math.random() * 360) + 0
        rotation.angle = data

     }
  }
}

Video and Log

1 个答案:

答案 0 :(得分:0)

我认为这是因为您的虚拟机没有vsync,这种撕裂是由您的显示器引起的。