State QML Type
Definiert Konfigurationen von Objekten und Eigenschaften. Mehr...
Import Statement: | import QtQuick |
Eigenschaften
Ausführliche Beschreibung
Ein Zustand ist ein Satz von stapelweisen Änderungen der Standardkonfiguration.
Alle Elemente haben einen Standardstatus, der die Standardkonfiguration von Objekten und Eigenschaftswerten definiert. Neue Zustände können durch Hinzufügen von Status-Elementen zur Eigenschaft states definiert werden, damit Elemente zwischen verschiedenen Konfigurationen wechseln können. Diese Konfigurationen können zum Beispiel dazu verwendet werden, verschiedene Sätze von Eigenschaftswerten anzuwenden oder verschiedene Skripte auszuführen.
Im folgenden Beispiel wird ein einzelnes Rectangle angezeigt. Im Standardzustand ist das Rechteck schwarz gefärbt. Im "angeklickten" Zustand ändert ein PropertyChanges Objekt die Farbe des Rechtecks auf rot. Wenn Sie auf MouseArea klicken, wechselt der Zustand des Rechtecks zwischen dem Standardzustand und dem "angeklickten" Zustand, wodurch die Farbe des Rechtecks zwischen Schwarz und Rot wechselt.
import QtQuick Rectangle { id: myRect width: 100; height: 100 color: "black" MouseArea { id: mouseArea anchors.fill: parent onClicked: myRect.state == 'clicked' ? myRect.state = "" : myRect.state = 'clicked'; } states: [ State { name: "clicked" PropertyChanges { target: myRect; color: "red" } } ] }
Beachten Sie, dass der Standardzustand mit einer leeren Zeichenfolge ("") angegeben wird.
Zustände werden in der Regel zusammen mit Übergängen verwendet, um Animationen bei Zustandsänderungen zu erzeugen.
Hinweis: Das Setzen des Zustands eines Objekts aus einem anderen Zustand desselben Objekts heraus ist nicht zulässig.
Siehe auch Beispiel für Zustände, Qt Quick Zustände, Übergänge, und Qt Qml.
Eigenschaft Dokumentation
changes : list<Change> |
Diese Eigenschaft enthält die Änderungen, die für diesen Zustand gelten sollen
Standardmäßig werden diese Änderungen auf den Standardzustand angewendet. Wenn der Zustand einen anderen Zustand erweitert, werden die Änderungen auf den erweiterten Zustand angewendet.
extend : string |
Diese Eigenschaft enthält den Zustand, den dieser Zustand erweitert.
Wenn ein Zustand einen anderen Zustand erweitert, erbt er alle Änderungen dieses Zustands.
Der Zustand, der erweitert wird, wird in Bezug auf die vom erweiternden Zustand angegebenen Änderungen als Basiszustand behandelt.
name : string |
Diese Eigenschaft enthält den Namen des Zustands.
Jeder Zustand sollte innerhalb seines Elements einen eindeutigen Namen haben.
when : bool |
Diese Eigenschaft gibt an, wann der Zustand angewendet werden soll.
Sie sollte auf einen Ausdruck gesetzt werden, der den Wert true
ergibt, wenn der Status angewendet werden soll. Zum Beispiel wechselt die folgende Rectangle in den und aus dem "verborgenen" Zustand, wenn die MouseArea gedrückt wird:
Rectangle { id: myRect width: 100; height: 100 color: "red" MouseArea { id: mouseArea; anchors.fill: parent } states: State { name: "hidden"; when: mouseArea.pressed PropertyChanges { target: myRect; opacity: 0 } } }
Wenn mehrere Zustände in einer Gruppe when
-Klauseln haben, die gleichzeitig zu true
ausgewertet werden, wird der erste übereinstimmende Zustand angewendet. Im folgenden Ausschnitt wird beispielsweise immer state1
und nicht state2
ausgewählt, wenn sharedCondition zu true
wird.
© 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.