Behavior QML Type
Legt eine Standardanimation für eine Eigenschaftsänderung fest. Mehr...
| Import Statement: | import QtQuick |
Eigenschaften
- animation : Animation
- enabled : bool
- targetProperty
(since QtQuick 2.15)- targetProperty.name : string
(since QtQuick 2.15) - targetProperty.object : QtObject
(since QtQuick 2.15)
- targetProperty.name : string
- targetValue : Variant
(since QtQuick 2.13)
Ausführliche Beschreibung
Ein Verhalten definiert die Standardanimation, die immer dann angewendet wird, wenn sich ein bestimmter Eigenschaftswert ändert.
Das folgende „Behavior“ definiert beispielsweise, dass „ NumberAnimation “ immer dann ausgeführt wird, wenn sich der Wert von „ width “ des „ Rectangle “ ändert. Wenn auf „ MouseArea “ geklickt wird, ändert sich „ width “, wodurch die Animation des „Behavior“ ausgelöst wird:
import QtQuick
Rectangle {
id: rect
width: 100; height: 100
color: "red"
Behavior on width {
NumberAnimation { duration: 1000 }
}
MouseArea {
anchors.fill: parent
onClicked: rect.width = 50
}
}Beachten Sie, dass einer Eigenschaft nicht mehr als ein Verhalten zugewiesen werden kann. Um mehrere Animationen innerhalb eines Verhaltens bereitzustellen, verwenden Sie „ ParallelAnimation “ oder „ SequentialAnimation “.
Wenn ein Zustandswechsel ein „ Transition “ aufweist, das derselben Eigenschaft entspricht wie ein „Behavior“, überschreibt die „ Transition “-Animation das „Behavior“ für diesen Zustandswechsel. Allgemeine Hinweise zur Verwendung von „Behaviors“ zur Animation von Zustandswechseln finden Sie unter „Verwendung von ‚ Qt Quick ‘-Behaviors mit Zuständen“.
Siehe auch „Animationen und Übergänge in Qt Quick “, „Beispiel für ein Verhalten“ und Qt Qml.
Dokumentation zu Eigenschaften
animation : Animation [default]
Diese Eigenschaft enthält die Animation, die ausgeführt werden soll, wenn das Verhalten ausgelöst wird.
enabled : bool
Diese Eigenschaft legt fest, ob das Verhalten ausgelöst wird, wenn sich der Wert der überwachten Eigenschaft ändert.
Standardmäßig ist ein Verhalten aktiviert.
targetProperty group
targetProperty.name : string [read-only, since QtQuick 2.15]
targetProperty.object : QtObject [read-only, since QtQuick 2.15]
| Eigenschaft | Beschreibung |
|---|---|
| name | Diese Eigenschaft enthält den Namen der Eigenschaft, die von diesem Verhalten gesteuert wird. |
| Objekt | Diese Eigenschaft enthält das Objekt der Eigenschaft, die von diesem Verhalten gesteuert wird. |
Diese Eigenschaft kann verwendet werden, um benutzerdefinierte Verhaltensweisen basierend auf dem Namen oder dem Objekt der gestuerten Eigenschaft zu definieren.
Das folgende Beispiel definiert ein Verhalten, das sein Zielobjekt ausblendet und wieder einblendet, wenn sich die von ihm gesteuerte Eigenschaft ändert:
// FadeBehavior.qml
import QtQuick 2.15
Behavior {
id: root
property Item fadeTarget: targetProperty.object
SequentialAnimation {
NumberAnimation {
target: root.fadeTarget
property: "opacity"
to: 0
easing.type: Easing.InQuad
}
PropertyAction { } // actually change the controlled property between the 2 other animations
NumberAnimation {
target: root.fadeTarget
property: "opacity"
to: 1
easing.type: Easing.OutQuad
}
}
}Dies kann verwendet werden, um einen Text zu animieren, wenn er sich ändert:
import QtQuick 2.15
Text {
id: root
property int counter
text: counter
FadeBehavior on text {}
Timer {
running: true
repeat: true
interval: 1000
onTriggered: ++root.counter
}
}Diese Eigenschaften wurden in QtQuick 2.15 eingeführt.
targetValue : Variant [read-only, since QtQuick 2.13]
Diese Eigenschaft enthält den Zielwert der Eigenschaft, die vom Behavior gesteuert wird. Dieser Wert wird vom Behavior vor dem Start der Animation festgelegt.
Diese Eigenschaft wurde in QtQuick 2.13 eingeführt.
© 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.