ParentAnimation QML 类型

动画父级值的变化。 更多...

导入语句import QtQuick
继承

Animation

属性

详细描述

ParentAnimation 可用于为 Item 动画父级更改。

例如,以下 ParentChange 在单击时将 blueRect 改变为其父级的子元素 redRect。包含 ParentAnimation(它定义要在转换期间应用的 NumberAnimation),确保项目在移动到其新父级时平滑动画

import QtQuick

Item {
    width: 200; height: 100

    Rectangle {
        id: redRect
        width: 100; height: 100
        color: "red"
    }

    Rectangle {
        id: blueRect
        x: redRect.width
        width: 50; height: 50
        color: "blue"

        states: State {
            name: "reparented"
            ParentChange { target: blueRect; parent: redRect; x: 10; y: 10 }
        }

        transitions: Transition {
            ParentAnimation {
                NumberAnimation { properties: "x,y"; duration: 1000 }
            }
        }

        MouseArea { anchors.fill: parent; onClicked: blueRect.state = "reparented" }
    }
}

ParentAnimation 可以包含任意数量的动画。这些动画将并行运行;为了顺序运行它们,请在 SequentialAnimation 中定义它们。

在某些情况下,例如在启用剪裁的项之间重设父项时,通过未启用剪裁的另一个项来动画父级更改很有用。可以使用 via 属性设置此类项。

ParentAnimation 通常在 Transition 中使用,并与 ParentChange 一起使用。以这种方式使用时,它将动画在状态更改期间发生的任何 ParentChange。这可以通过使用 target 属性设置特定目标项目来覆盖。

另请参阅Qt Quick 中的动画和转换以及Qt Quick 示例 - 动画

属性说明

newParent : Item

要动画的新父级。

如果 ParentAnimationTransition 内定义,则此值默认为 Transition 的终止状态中定义的值。


target : Item

要重置父级的项目。

在转换中,如果没有指定目标,则 ParentChange 的所有发生都将由 ParentAnimation 动画。


via : Item

要重设父级经过的项。这提供了一种方式在没有剪裁的父级和子级都进行剪裁时进行非剪裁动画。

ParentAnimation {
    target: myItem
    via: topLevelItem
    // ...
}

注意:此功能仅在使用ParentAnimationTransition中与ParentChange一起使用时有效。


© 2024 The Qt Company Ltd. 本文件中包含的文档贡献均为各自所有者的版权。所提供的文档是在自由软件基金会发布的GNU自由文档许可证版本1.3的条款下许可的。Qt及其相应标志是芬兰和/或其他国家的The Qt Company Ltd.的商标。所有其他商标均为各自所有者的财产。