本页内容

RotationAnimator QML Type

RotationAnimator 类型用于对 Item 的旋转进行动画处理。更多内容...

Import Statement: import QtQuick
Inherits:

Animator

属性

详细说明

Animator 类型与普通的动画类型不同。使用 Animator 时,动画可在渲染线程中运行,且动画完成后属性值将直接跳转至终点。

Item::rotation 的值会在动画结束后进行更新。

以下代码片段演示了如何将 RotationAnimator 与 Rectangle 项结合使用。

Rectangle {
    id: rotatingBox
    width: 50
    height: 50
    color: "lightsteelblue"
    RotationAnimator {
        target: rotatingBox;
        from: 0;
        to: 360;
        duration: 1000
        running: true
    }
}

也可以使用on 关键字将RotationAnimator直接绑定到Item实例的rotation 属性上。

Rectangle {
    width: 50
    height: 50
    color: "lightsteelblue"
    RotationAnimator on rotation {
        from: 0;
        to: 360;
        duration: 1000
    }
}

注意: 当使用非多线程渲染循环时,Animator 类型没有任何优势。

注意:建议 应用程序采用基于多线程、异步原则的设计,而不是依赖 Animator 在主(GUI)线程上执行耗时且阻塞的操作时显示动画内容。与其进行漫长且阻塞的操作,不如在 QML 中优先使用 `WorkerScript ` 和 `asynchronous image loading `,并在 C++ 中使用工作线程、并行算法 Qt Concurrent以及 C++ 中的协程,从而确保整个应用程序和用户界面始终保持响应。

另请参阅 Item::transformOrigin 和ScaleAnimator 。

属性文档

direction : enumeration

该属性存储旋转的方向。

可能的取值为:

常量描述
RotationAnimator.Numerical(默认)通过两个数值之间的线性插值进行旋转。从 10 旋转到 350 将顺时针旋转 340 度。
RotationAnimator.Clockwise在两个值之间顺时针旋转
RotationAnimator.Counterclockwise在两个值之间逆时针旋转
RotationAnimator.Shortest沿能产生最短动画路径的方向旋转。从 10 旋转到 350 时,将逆时针旋转 20 度。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.