HistoryState QML Type
Le type HistoryState permet de revenir à un sous-état précédemment actif. En savoir plus…
| Import Statement: | import QtQml.StateMachine 6.12 |
| Inherits: |
Propriétés
- defaultState : QAbstractState
- historyType : enumeration
Description détaillée
Un état d'historique est un pseudo-état qui représente l'état enfant dans lequel se trouvait l'état parent lors de sa dernière sortie. Une transition dont la cible est un état d'historique est en réalité une transition vers l'un des autres états enfants de l'état parent. HistoryState fait partie de l'API QML d'Qt State Machine .
Utilisez la propriété defaultState pour définir l’état dans lequel il faut entrer si l’état parent n’a jamais été activé.
Exemple d’utilisation
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
}
}
}
}
}Par défaut, un état d’historique est « peu profond », ce qui signifie qu’il ne mémorise pas les états imbriqués. Ce comportement peut être configuré via la propriété ` historyType `.
Voir également StateMachine et State.
Documentation sur les propriétés
defaultState : QAbstractState
L'état par défaut de cet état d'historique.
L'état par défaut indique l'état vers lequel la transition doit s'effectuer si l'état parent n'a jamais été atteint auparavant.
historyType : enumeration
Le type d'historique enregistré par cet état d'historique.
La valeur par défaut de cette propriété est HistoryState.ShallowHistory.
Cette énumération spécifie le type d'historique enregistré par un HistoryState.
- HistoryState.ShallowHistory Seuls les états enfants immédiats de l’état parent sont enregistrés. Dans ce cas, une transition dont l’état d’historique est la cible aboutira à l’état enfant immédiat dans lequel se trouvait le parent lors de sa dernière sortie. Il s’agit de la valeur par défaut.
- HistoryState.DeepHistory Les états imbriqués sont enregistrés. Dans ce cas, une transition dont la cible est l’état d’historique aboutira à l’état descendant le plus profondément imbriqué dans lequel se trouvait l’état parent lors de sa dernière sortie.
© 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.