PropertyAction QML Type
Legt sofortige Eigenschaftsänderungen während der Animation fest. Mehr...
| Import Statement: | import QtQuick |
| Inherits: |
Eigenschaften
- exclude : list<QtObject>
- properties : string
- property : string
- target : QtObject
- targets : list<QtObject>
- value : var
Ausführliche Beschreibung
PropertyAction wird verwendet, um eine sofortige Eigenschaftsänderung während einer Animation festzulegen. Die Eigenschaftsänderung wird nicht animiert.
Dies ist nützlich, um nicht animierte Eigenschaftswerte während einer Animation festzulegen.
Hier ist beispielsweise ein „ SequentialAnimation “, der die Eigenschaft „ opacity “ des Bildes auf „ .5 “ setzt, die Breite des Bildes animiert und anschließend „ opacity “ wieder auf „ 1 “ zurücksetzt:
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 Zeitpunkt festzulegen, zu dem eine Eigenschaftsänderung während einer „ Transition “ erfolgen soll. Wenn beispielsweise „ PropertyChanges “ in einer „ State “ verwendet wurde, um ein Element um eine bestimmte „ transformOrigin “ zu drehen, könnte dies 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 Eigenschaft „ transformOrigin “ jedoch erst nach der Animation gesetzt, da ein „ State “ verwendet wird, um die Werte am Ende eines Übergangs festzulegen. Die Animation würde sich zunächst mit dem Standard-„ 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 im Endzustand der „ Transition “ definierten Wert gesetzt (d. h. auf den im „PropertyAction“-Objekt definierten Wert), sodass die Rotationsanimation mit dem korrekten Transformationsursprung beginnt.
Siehe auch „Animationen und Übergänge“ unter Qt Quick und Qt Qml.
Eigenschaftsdokumentation
exclude : list<QtObject> [read-only]
Diese Eigenschaft enthält die Objekte, die von dieser Aktion nicht betroffen sein sollen.
Siehe auch „ targets “.
Diese Eigenschaften legen fest, welche Elemente und deren Eigenschaften von dieser Aktion betroffen sind.
Einzelheiten dazu, wie diese Eigenschaften in verschiedenen Situationen interpretiert werden, finden Sie in der Dokumentation zu „ corresponding “ unter PropertyAnimation.
Siehe auch „ exclude “.
value : var
Diese Eigenschaft enthält den Wert, der für die Eigenschaft festgelegt werden soll.
Wenn die Eigenschaft „ PropertyAction “ innerhalb einer „ Transition “ oder einer „ Behavior “ definiert ist, wird dieser Wert standardmäßig auf den im Endzustand der „ Transition “ definierten Wert oder auf den Wert der Eigenschaftsänderung gesetzt, die die „ Behavior “ ausgelöst hat.
© 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.