ParentAnimation QML Type

Animates changes in parent values. 更多...

import 语句: import QtQuick 2.12
Since: Qt 5.0
继承: Animation

特性

详细描述

ParentAnimation is used to animate a parent change for an Item .

例如,以下 ParentChange changes blueRect to become a child of redRect when it is clicked. The inclusion of the ParentAnimation , which defines a NumberAnimation to be applied during the transition, ensures the item animates smoothly as it moves to its new parent:

import QtQuick 2.0
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" }
    }
}
					

A ParentAnimation can contain any number of animations. These animations will be run in parallel; to run them sequentially, define them within a SequentialAnimation .

In some cases, such as when reparenting between items with clipping enabled, it is useful to animate the parent change via another item that does not have clipping enabled. Such an item can be set using the 凭借 特性。

ParentAnimation is typically used within a Transition in conjunction with a ParentChange . When used in this manner, it animates any ParentChange that has occurred during the state change. This can be overridden by setting a specific target item using the target 特性。

另请参阅 Qt Quick 中的动画和过渡 and Qt Quick Examples - Animation .

特性文档编制

newParent : Item

The new parent to animate to.

ParentAnimation is defined within a Transition , this value defaults to the value defined in the end state of the Transition .

target : Item

The item to reparent.

When used in a transition, if no target is specified, all ParentChange occurrences are animated by the ParentAnimation .

凭借 : Item

The item to reparent via. This provides a way to do an unclipped animation when both the old parent and new parent are clipped.

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

注意: This only works when the ParentAnimation is used in a Transition in conjunction with a ParentChange .