C

时间轴 QML 类型

A timeline. 更多...

导入语句import QtQuick.Timeline
Qt Quick Ultralite 1.3

属性

详细描述

指定起始帧 startFrame 和 结束帧 endFrame 之间的帧。它的关键帧描述了当 currentFrame 改变时影响的属性如何变化。

Timeline {
    startFrame: 0
    currentFrame: 50
    endFrame: 100
}

要向时间轴添加关键帧,请添加 KeyframeGroup 类型的子项。每个 KeyframeGroup 包含描述特定属性如何变化的 Keyframe

Timeline {
    // ...

    KeyframeGroup {
        target: myitem
        property: "x"
        Keyframe {
            frame: 20
            value: 50
        }
    }
}

时间轴既可以用于动画也可以用于控制项的行为。例如,可以创建一个进度条,通过将其绑定到 currentFrame 来反映当前的进度。或者,可以在 动画 属性的 TimelineAnimations 中直接动画化 currentFrame

以下示例使用时间轴来动画化 widthheight 属性的 Rectangle

Rectangle {
    color: "white"
    Rectangle {
        id: rect
        color: "red"
        width: 100
        height: 100
    }

    Timeline {
        startFrame: 0
        endFrame: 100

        KeyframeGroup {
            target: rect
            property: "width"
            Keyframe {
                frame: 50
                value: 150
            }
            Keyframe {
                frame: 100
                value: 25
                easing.type: Easing.InOutQuad
            }
        }

        KeyframeGroup {
            target: rect
            property: "height"
            Keyframe {
                frame: 0
                value: 50
            }
            Keyframe {
                frame: 70
                value: 150
            }
        }

        animations: [
            TimelineAnimation {
                running: true
                pingPong: true
                // ???
            }
        ]
    }
}

另请参阅:KeyframeGroupTimelineAnimation

属性文档

animations : list

附加到时间轴的动画列表。这些动画必须是 TimelineAnimation 类型并自动应用于 currentFrame 属性。


currentFrame : real

当前时间线上的关键帧。当前关键帧可以是可动画的或与它绑定,使用绑定可以控制组件的行为。


enabled : bool

时间线是否启用。

当时间线禁用时,时间线影响的属性将保持其常规值。当时间线启用时,属性值由当前帧和关键帧确定。

任何时候只能有一个时间线作用于一个属性。


endFrame : real

时间线的结束。此值没有效果。


startFrame : real

时间线的开始。每个KeyframeGroup在startFrame处都有一个隐式的Keyframe,其值是当时间线首次启用时目标属性所具有的值。


在某些Qt许可证下可用。
了解更多。