PropertyAction QML Type

Gibt sofortige Eigenschaftsänderungen während der Animation an. Mehr...

Import Statement: import QtQuick
Inherits:

Animation

Eigenschaften

Detaillierte Beschreibung

PropertyAction wird verwendet, um eine sofortige Eigenschaftsänderung während einer Animation anzugeben. Die Eigenschaftsänderung wird nicht animiert.

Sie ist nützlich, um nicht animierte Eigenschaftswerte während einer Animation festzulegen.

Hier ist zum Beispiel ein SequentialAnimation, das die Eigenschaft opacity des Bildes auf .5 setzt, die Breite des Bildes animiert und dann opacity wieder auf 1 setzt:

SequentialAnimation {
    PropertyAction { target: img; property: "opacity"; value: .5 }
    NumberAnimation { target: img; property: "width"; to: 300; duration: 1000 }
    PropertyAction { target: img; property: "opacity"; value: 1 }
}

PropertyAction ist auch nützlich, um den genauen Punkt festzulegen, an dem eine Eigenschaftsänderung während einer Transition stattfinden soll. Wenn PropertyChanges beispielsweise in einer State verwendet wird, um ein Element um einen bestimmten transformOrigin zu drehen, könnte es wie folgt implementiert werden:

Item {
    width: 400; height: 400

    Rectangle {
        id: rect
        width: 200; height: 100
        color: "red"

        states: State {
            name: "rotated"
            PropertyChanges { target: rect; rotation: 180; transformOrigin: Item.BottomRight }
        }

        transitions: Transition {
            RotationAnimation { duration: 1000; direction: RotationAnimation.Counterclockwise }
        }

        MouseArea {
            anchors.fill: parent
            onClicked: rect.state = "rotated"
        }
    }
}

Bei diesem Code wird die transformOrigin jedoch erst nach der Animation gesetzt, da eine State verwendet wird, um die Werte am Ende eines Übergangs zu definieren. Die Animation würde sich mit dem Standardwert transformOrigin drehen und dann zu Item.BottomRight springen. Um dies zu beheben, fügen Sie eine PropertyAction ein, bevor die RotationAnimation beginnt:

transitions: Transition {
    SequentialAnimation {
        PropertyAction { target: rect; property: "transformOrigin" }
        RotationAnimation { duration: 1000; direction: RotationAnimation.Counterclockwise }
    }
}

Dadurch wird die Eigenschaft transformOrigin sofort auf den Wert gesetzt, der im Endzustand des Transition definiert ist (d. h. den im PropertyAction-Objekt definierten Wert), so dass die Rotationsanimation mit dem richtigen Transformationsursprung beginnt.

Siehe auch Animation und Übergänge in Qt Quick und Qt Qml.

Property-Dokumentation

properties : string

property : string

target : QtObject

targets : list<QtObject> [read-only]

Diese Eigenschaften bestimmen die Elemente und ihre Eigenschaften, die von dieser Aktion betroffen sind.

Die Einzelheiten darüber, wie diese Eigenschaften in verschiedenen Situationen interpretiert werden, sind in der Dokumentation corresponding PropertyAnimation beschrieben.

Siehe auch exclude.


exclude : list<QtObject> [read-only]

Diese Eigenschaft enthält die Objekte, die von dieser Aktion nicht betroffen sein sollen.

Siehe auch targets.


value : var

Diese Eigenschaft enthält den Wert, der auf die Eigenschaft gesetzt werden soll.

Wenn die PropertyAction innerhalb einer Transition oder Behavior definiert ist, wird dieser Wert standardmäßig auf den Wert gesetzt, der im Endzustand der Transition definiert ist, oder auf den Wert der Eigenschaftsänderung, die die Behavior ausgelöst hat.


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