QAbstractState 类

QAbstractState 类是 QStateMachine 的状态的基础类。更多...

头文件 #include <QAbstractState>
CMakefind_package(Qt6 REQUIRED COMPONENTS StateMachine)
target_link_libraries(mytarget PRIVATE Qt6::StateMachine)
qmakeQT += statemachine
继承 QObject
继承自

QFinalStateQHistoryStateQState

属性

公共函数

虚拟~QAbstractState()
boolactive() const
QBindable<bool>bindableActive()
QStateMachine *machine() const
QState *parentState() const

信号

voidactiveChanged(bool active)
voidentered()
voidexited()

保护函数

QAbstractState(QState *parent = nullptr)
虚拟 voidonEntry(QEvent *event) = 0
虚拟 voidonExit(QEvent *event) = 0

重新实现保护函数

虚拟 boolevent(QEvent *e) 覆盖

详细描述

QAbstractState 类是 QStateMachine 的状态的抽象基类。它定义了所有状态对象共有的接口。QAbstractState 是 Qt 状态机框架的一部分。

当状态被进入时,会发出 entered() 信号。当状态被退出时,会发出 exited() 信号。

parentState() 函数返回状态的父亲状态。machine() 函数返回该状态所属的状态机。

子类化

当状态被进入时,会调用 onEntry() 函数;重写此函数以在状态被进入时执行自定义处理。

当状态被退出时,会调用 onExit() 函数;重写此函数以在状态被退出时执行自定义处理。

属性文档

[可绑定只读] active : bool

注意:此属性支持QProperty绑定。

此属性持有此状态的活动属性。状态在entered()()和exited()()信号之间是活动的。

成员函数文档

[保护] QAbstractState::QAbstractState(QState *parent = nullptr)

使用给定的parent状态构造一个新的状态。

[虚函数 noexcept] QAbstractState::~QAbstractState()

销毁此状态。

bool QAbstractState::active() const

返回此状态是否活动。

注意:active属性的获取函数。

另请参阅:activeChanged(bool),entered()和exited()。

[信号] void QAbstractState::activeChanged(bool active)

当active属性改变,并传递active作为参数时发出此信号。

注意:active属性的通知信号。

另请参阅:QAbstractState::activeentered()和exited

[私有信号] void QAbstractState::entered()

当状态被进入(在调用onEntry()之后)时发出此信号。

注意:这是一个私有信号。它可以用于信号连接,但不能由用户发出。

[私有虚保护] bool QAbstractState::event(QEvent *e)

重实现了:QObject::event(QEvent *e)。

[私有信号] void QAbstractState::exited()

当状态被退出(在调用onExit()之后)时发出此信号。

注意:这是一个私有信号。它可以用于信号连接,但不能由用户发出。

QStateMachine *QAbstractState::machine() const

返回此状态所属的状态机,如果状态不是状态机的一部分,则返回nullptr

[纯虚保护] void QAbstractState::onEntry(QEvent *event)

当状态被进入时调用此函数。给定的event是导致状态被进入的原因。重新实现此函数以在状态被进入时执行自定义处理。

[纯虚保护] void QAbstractState::onExit(QEvent *event)

当状态被退出时调用此函数。给定的event是导致状态被退出的原因。重新实现此函数以在状态被退出时执行自定义处理。

QState *QAbstractState::parentState() const

返回此状态的父状态,如果该状态没有父状态则返回 nullptr

© 2024 The Qt Company Ltd. 本文档中的文档贡献版权属于其各自所有者。本文档受免费软件基金会发布的 GNU 自由文档许可版本 1.3 项下的条款许可。Qt及相应标志是芬兰及其它在世界各地的 The Qt Company Ltd. 的商标。所有其他商标都是其各自所有者的财产。