在本页

RotationAnimator QML Type

RotationAnimator 类型用于为项目的旋转制作动画。更多

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 直接与项目实例的rotation 属性绑定。

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

注: 在使用非线程渲染循环时,动画类型没有任何益处。

注: 建议应用程序考虑基于多线程、异步原则的设计,而不是依赖 Animator 来显示动画内容,同时在主(GUI)线程上执行昂贵的阻塞操作。在 QML 中使用WorkerScriptasynchronous image loading ,在 C++ 中使用工作线程、并行算法,而不是冗长的阻塞操作、 Qt Concurrent和 C++ 中的例程,从而使整个应用程序和用户界面始终保持响应。

另请参阅 Item::transformOriginScaleAnimator

属性文档

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.