ParentAnimation QML Type

親の値の変化をアニメーション化する。詳細...

Import Statement: import QtQuick
Inherits:

Animation

プロパティ

詳細説明

ParentAnimation は、Item の親の変更をアニメーション化するために使用されます。

例えば、次のParentChange は、クリックされるとblueRectredRect の子に変更します。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 には、任意の数のアニメーションを含めることができます。ParentAnimationには、任意の数のアニメーションを含めることができます。これらのアニメーションは並行して実行されます。順次実行するには、SequentialAnimation の中で定義します。

クリッピングが有効なアイテム間で再ペアレントする場合など、クリッピングが有効でない別のアイテムを経由して親の変更をアニメーション化すると便利な場合があります。このようなアイテムは、via プロパティを使用して設定できます。

ParentAnimation は通常、ParentChange と組み合わせてTransition 内で使用されます。この方法で使用されると、状態変更の間に発生したParentChange をアニメーション化します。これは、target プロパティを使用して特定のターゲット項目を設定することでオーバーライドできます。

Qt Quick のアニメーションとトランジション」および「Qt Quick の例 - アニメーション」も参照してください

プロパティの説明

newParent : Item

アニメーション先の新しい親。

ParentAnimationTransition 内で定義されている場合、この値はTransition の終了状態で定義された値にデフォルト設定されます。


target : Item

再ペアレントするアイテム。

トランジションで使用される場合、ターゲットが指定されないと、すべてのParentChangeParentAnimation によってアニメートされます。


via : Item

経由で再ペアレントするアイテム。これは、古い親と新しい親の両方がクリップされている場合に、クリップされていないアニメーションを行う方法を提供します。

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

注意: これは、ParentAnimationTransition の中でParentChange と一緒に使われている場合にのみ機能します。


©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。