C

旋转动画 QML 类型

动画旋转值的更改。 更多...

导入语句import QtQuick
Qt Quick Ultralite 1.0
继承

PropertyAnimation

属性

详细说明

旋转动画是一种专业化的 PropertyAnimation,它可以在动画过程中控制旋转方向。

默认情况下,它会按数值变化的方向旋转。例如,从 0 旋转到 240 的旋转顺时针旋转 240 度,而从 240 旋转到 0 的旋转逆时针旋转 240 度。可以使用 direction 属性来指定旋转应发生的方向。

在以下示例中,使用旋转动画通过最短路径在状态之间进行旋转动画

import QtQuick 2.15

Rectangle {
    id: root
    color: "white"

    states: State {
        name: "rotated"
        PropertyChanges { target: rotation; angle: 180 }
    }

    transitions: Transition {
        RotationAnimation { duration: 1000; direction: RotationAnimation.Counterclockwise }
    }

    Text {
        id: text
        anchors.centerIn: parent
        text: "rotated"
        transform: Rotation {
            id: rotation
            angle: 0
            origin.x: text.width / 2
            origin.y: text.height / 2
        }
    }

    MouseArea { anchors.fill: parent; onClicked: root.state = "rotated" }
}

注意:旋转动画不会自动将自己限制为“旋转”和“角度”属性。使用 propertiesproperty 来选择动画属性。这与 Qt Quick 有所不同。

与其他动画类型一样,旋转动画可以通过多种方式应用,包括过渡、行为和属性值源。有关创建动画的多种方法,请参阅 动画和过渡 文档。

参见动画和过渡

属性文档

direction : 枚举

此属性存储旋转方向。

可能值包括

  • RotationAnimation.数值(默认)- 通过在两个数字之间进行线性插值来旋转。例如,从 10 到 350 的旋转顺时针旋转 340 度。
  • RotationAnimation.顺时针 - 在两个值之间顺时针旋转
  • RotationAnimation.逆时针 - 在两个值之间逆时针旋转
  • RotationAnimation.最短 - 按产生最短动画路径的方向旋转。例如,从 10 到 350 的旋转逆时针旋转 20 度。

: 实数

该属性包含动画的起始值。

例如,以下动画直到 角度 值达到 100 才会应用。

Item {
    states: [
        // ...
    ]

    transition: Transition {
        RotationAnimation { properties: "angle"; from: 100; duration: 2000 }
    }
}

如果 旋转动画过渡行为 中定义,则该值默认为 过渡 的起始状态中定义的值,或 行为 触发时属性的当前值。

参见动画和过渡


: 实数

该属性包含动画的结束值。

如果 旋转动画过渡行为 中定义,则该值默认为 过渡 的结束状态中定义的值,或触发 行为 的属性变化值。

参见动画和过渡


在特定的 Qt 许可下可用。
了解更多。