Sur cette page

ParentChange QML Type

Indique comment réattribuer un parent à un élément lors d'un changement d'état. En savoir plus...

Import Statement: import QtQuick

Propriétés

Description détaillée

ParentChange modifie l'appartenance d'un élément tout en conservant son apparence visuelle (position, taille, rotation et échelle) à l'écran. Vous pouvez ensuite définir une transition pour déplacer, redimensionner, faire pivoter ou mettre à l'échelle l'élément jusqu'à ce qu'il atteigne l'apparence finale souhaitée.

ParentChange ne peut préserver l'apparence visuelle que si aucune transformation complexe n'est impliquée. Plus précisément, cela ne fonctionnera pas si la propriété `transform` a été définie pour l'un des éléments concernés par le changement de parent (c'est-à-dire les éléments situés dans l'arborescence ancestrale commune au parent d'origine et au nouveau parent).

L'exemple ci-dessous affiche un grand rectangle rouge et un petit rectangle bleu, côte à côte. Lorsque l'on clique sur l'blueRect, celui-ci passe à l'état « repositionné » : son parent est remplacé par redRect et il est positionné en (10, 10) à l'intérieur du rectangle rouge, comme spécifié dans le ParentChange.

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 }
        }

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

Changement d'état du carré bleu ayant une incidence sur la réaffectation du parent

Vous pouvez spécifier à quel moment d’une transition vous souhaitez qu’un ParentChange se produise en utilisant un ParentAnimation.

Notez que, contrairement à PropertyChanges, ParentChange attend une cible de type Item ; il ne fonctionnera pas avec des objets arbitraires (par exemple, vous ne pourriez pas l’utiliser pour attribuer un nouveau parent à un Timer).

Documentation sur les propriétés

height : real

rotation : real

scale : real

width : real

x : real

y : real

Ces propriétés définissent la nouvelle position, la nouvelle taille, le nouvel échelle et la nouvelle rotation de l'élément dans cet état.

parent : Item

Cette propriété contient le nouveau parent de l'élément dans cet état.

target : Item

Cette propriété contient l'élément dont la relation parent-enfant doit être modifiée

© 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.