Qt Reference Documentation

QML ParentAnimation Element

The ParentAnimation element animates changes in parent values. More...

Inherits Animation

  • List of all members, including inherited members
  • Properties

    Detailed Description

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

    For example, the following 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 1.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 via property.

    For convenience, when a ParentAnimation is used in a Transition, it will animate any ParentChange that has occurred during the state change. This can be overridden by setting a specific target item using the target property.

    Like any other animation element, a ParentAnimation can be applied in a number of ways, including transitions, behaviors and property value sources. The QML Animation documentation shows a variety of methods for creating animations.

    See also QML Animation and Animation basics example.

    Property Documentation

    newParent : Item

    The new parent to animate to.

    If the ParentAnimation is defined within a Transition or Behavior, this value defaults to the value defined in the end state of the Transition, or the value of the property change that triggered the Behavior.


    target : Item

    The item to reparent.

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


    via : 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
         ...
     }

    X

    Thank you for giving your feedback.

    Make sure it is related to this specific page. For more general bugs and requests, please use the Qt Bug Tracker.