状态 QML 类型

StateMachine 提供一个通用的状态。 更多信息...

导入语句import QtQml.StateMachine 6.7
继承自

QAbstractState

由以下类继承

StateMachine

属性

信号

详细描述

状态对象可以有子状态,也可以有到其他状态的转换。状态是 Qt 状态机 QML API 的一部分。

具有子状态的状态

childMode 属性决定了如何处理子状态。对于非并行状态组,必须使用 initialState 属性来设置初始状态。子状态是互斥的,当父状态是转换的目标时,状态机需要知道要进入哪个子状态。

当进入最终的子状态(FinalState)时,状态发出 State::finished() 信号。

errorState 设置状态的错误状态。如果当尝试进入状态时检测到错误(例如,因为没有设置初始状态),状态机将转换到错误状态。

用法示例

import QtQuick
import QtQml.StateMachine as DSM

Rectangle {
    DSM.StateMachine {
        id: stateMachine
        initialState: state
        running: true
        DSM.State {
            id: state
        }
    }
}

另请参阅StateMachineFinalState

属性文档

childMode : 枚举

此状态的子模式

此属性的默认值是 QState.ExclusiveStates。

此枚举指定如何处理状态子状态

  • QState.ExclusiveStates 子状态是互斥的,并且必须通过设置 initialState 属性来设置初始状态。
  • QState.ParallelStates 子状态是并行的。当进入父状态时,将并行进入其所有子状态。

errorState : QAbstractState

此状态的错误状态。


初始状态 : QAbstractState

此状态(其子状态之一)的初始状态。


信号文档

finished()

当进入此状态的最终子状态时,会发出此信号。

注意:相应的处理程序是onFinished

另请参阅:QAbstractState::activeQAbstractState::enteredQAbstractState::exited


© 2024 Qt公司。本文件中包含的文档贡献的版权归各自所有者所有。本文件提供的文档是根据自由软件基金会发布并由其使用的GNU自由文档许可证版本1.3的条款许可的。Qt及其相关标志是芬兰及全球其他地区Qt公司的商标。所有其他商标均为各自所有者的财产。