HistoryState QML Type

Der Typ HistoryState bietet die Möglichkeit, zu einem zuvor aktiven Teilzustand zurückzukehren. Mehr...

Import Statement: import QtQml.StateMachine 6.8
Inherits:

QAbstractState

Eigenschaften

Detaillierte Beschreibung

Ein History-State ist ein Pseudo-State, der den Child-State darstellt, in dem sich der Parent-State beim letzten Verlassen des Parent-States befand. Ein Übergang mit einem History-State als Ziel ist in Wirklichkeit ein Übergang zu einem der anderen Child-States des Parent-States. HistoryState ist Teil der Qt State Machine QML API.

Verwenden Sie die Eigenschaft defaultState, um den Zustand festzulegen, der erreicht werden soll, wenn der übergeordnete Zustand noch nie erreicht wurde.

Beispiel für die Verwendung

import QtQuick
import QtQml.StateMachine as DSM

Rectangle {
    Button {
        anchors.fill: parent
        id: button
        text: "Press me"
        DSM.StateMachine {
            id: stateMachine
            initialState: parentState
            running: true
            DSM.State {
                id: parentState
                initialState: child2
                onEntered: console.log("parentState entered")
                onExited: console.log("parentState exited")
                DSM.State {
                    id: child1
                    onEntered: console.log("child1 entered")
                    onExited: console.log("child1 exited")
                }
                DSM.State {
                    id: child2
                    onEntered: console.log("child2 entered")
                    onExited: console.log("child2 exited")
                }
                DSM.HistoryState {
                    id: historyState
                    defaultState: child1
                }
                DSM.SignalTransition {
                    targetState: historyState

                    // Clicking the button will cause the state machine to enter the child state
                    // that parentState was in the last time parentState was exited, or the history state's default
                    // state if parentState has never been entered.
                    signal: button.clicked
                }
            }
        }
    }
}

Standardmäßig ist ein History-Status oberflächlich, was bedeutet, dass er sich nicht an verschachtelte Zustände erinnert. Dies kann über die Eigenschaft historyType konfiguriert werden.

Siehe auch StateMachine und State.

Eigenschaft Dokumentation

defaultState : QAbstractState

Der Standardzustand dieses Verlaufszustands.

Der Standardzustand gibt an, in welchen Zustand übergegangen werden soll, wenn der übergeordnete Zustand noch nie betreten wurde.


historyType : enumeration

Der Typ des Verlaufs, den dieser Verlaufszustand aufzeichnet.

Der Standardwert dieser Eigenschaft ist HistoryState. ShallowHistory.

Diese Aufzählung spezifiziert die Art der Historie, die ein HistoryState aufzeichnet.

  • HistoryState.ShallowHistory Es werden nur die unmittelbaren Kindzustände des übergeordneten Zustands aufgezeichnet. In diesem Fall wird ein Übergang mit dem History-Zustand als Ziel in dem unmittelbaren Child-Zustand enden, in dem sich der Parent-Zustand beim letzten Verlassen befand. Dies ist die Voreinstellung.
  • HistoryState.DeepHistory Verschachtelte Zustände werden aufgezeichnet. In diesem Fall landet ein Übergang mit dem History-Zustand als Ziel in dem am tiefsten verschachtelten Nachfolgezustand, in dem sich der Parent-Zustand beim letzten Verlassen befand.

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