Auf dieser Seite

HistoryState QML Type

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

Import Statement: import QtQml.StateMachine 6.12
Inherits:

QAbstractState

Eigenschaften

Ausführliche Beschreibung

Ein Verlaufszustand ist ein Pseudozustand, der den Unterzustand repräsentiert, in dem sich der übergeordnete Zustand beim letzten Verlassen des übergeordneten Zustands befand. Ein Übergang, dessen Ziel ein Verlaufszustand ist, ist faktisch ein Übergang zu einem der anderen Unterzustände des übergeordneten Zustands. „HistoryState“ ist Teil der QML-API von „Qt State Machine “.

Verwenden Sie die Eigenschaft „ defaultState “, um den Zustand festzulegen, in den gewechselt werden soll, falls der übergeordnete Zustand noch nie betreten wurde.

Anwendungsbeispiel

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 Verlaufszustand flach, was bedeutet, dass er sich nicht an verschachtelte Zustände erinnert. Dies kann über die Eigenschaft „ historyType “ konfiguriert werden.

Siehe auch „ StateMachine “ und „ State “.

Eigenschaftsdokumentation

defaultState : QAbstractState

Der Standardzustand dieses Verlaufszustands.

Der Standardzustand gibt den Zustand an, in den übergegangen wird, wenn der übergeordnete Zustand zuvor noch nie aufgerufen wurde.

historyType : enumeration

Der Typ der Historie, die dieser Historiezustand aufzeichnet.

Der Standardwert dieser Eigenschaft ist „ HistoryState.ShallowHistory“.

Diese Enumeration legt fest, welche Art von Verlauf ein „ HistoryState “ aufzeichnet.

  • HistoryState.ShallowHistory Es werden nur die unmittelbaren untergeordneten Zustände des übergeordneten Zustands aufgezeichnet. In diesem Fall führt ein Übergang, dessen Ziel der Verlaufszustand ist, zu dem unmittelbaren untergeordneten Zustand, in dem sich der übergeordnete Zustand beim letzten Verlassen befand. Dies ist die Standardeinstellung.
  • HistoryState.DeepHistory Verschachtelte Zustände werden aufgezeichnet. In diesem Fall führt ein Übergang, dessen Ziel der Verlaufszustand ist, zu dem am tiefsten verschachtelten Nachkommenzustand, in dem sich der übergeordnete Zustand beim letzten Verlassen befand.

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