QAbstractState Class
QAbstractState 类是QStateMachine的基类。
头文件: | #include <QAbstractState> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS StateMachine) target_link_libraries(mytarget PRIVATE Qt6::StateMachine) |
qmake: | QT += statemachine |
继承: | QObject |
继承于 |
属性
- active : bool
公共功能
virtual | ~QAbstractState() |
bool | active() const |
QBindable<bool> | bindableActive() |
QStateMachine * | machine() const |
QState * | parentState() const |
信号
void | activeChanged(bool active) |
void | entered() |
void | exited() |
受保护函数
QAbstractState(QState *parent = nullptr) | |
virtual void | onEntry(QEvent *event) = 0 |
virtual void | onExit(QEvent *event) = 0 |
重新实现的受保护函数
virtual bool | event(QEvent *e) override |
详细说明
QAbstractState 类是作为QStateMachine 一部分的状态的抽象基类。它定义了所有状态对象的共同接口。QAbstractState 是Qt State Machine Framework 的一部分。
当进入状态时,会发出entered() 信号。退出状态时,会发出exited() 信号。
parentState() 函数返回状态的父状态。machine() 函数返回状态所属的状态机。
子类化
状态进入时,调用onEntry() 函数;状态进入时,重新实现该函数以执行自定义处理。
退出状态时调用onExit() 函数;重新实现该函数可在退出状态时执行自定义处理。
成员函数文档
[protected]
QAbstractState::QAbstractState(QState *parent = nullptr)
用给定的parent 状态构建一个新状态。
[virtual noexcept]
QAbstractState::~QAbstractState()
摧毁这个国家。
bool QAbstractState::active() const
返回此状态是否处于活动状态。
注: 属性 active 的获取函数。
另请参阅 activeChanged(bool)、entered() 和exited()。
[signal]
void QAbstractState::activeChanged(bool active)
当使用active 作为参数的活动属性发生变化时,会发出该信号。
注: 属性active 的通知信号。
另请参阅 QAbstractState::active,entered() 和exited() 。
[private signal]
void QAbstractState::entered()
进入状态后(调用onEntry() 后)发出该信号。
注意: 这是一个私有信号。可以在信号连接中使用,但用户不能发出。
[override virtual protected]
bool QAbstractState::event(QEvent *e)
重实现:QObject::event(QEvent *e)。
[private signal]
void QAbstractState::exited()
状态退出时(调用onExit() 后)发出该信号。
注意: 这是一个私有信号。可以在信号连接中使用,但用户不能发出。
QStateMachine *QAbstractState::machine() const
返回该状态所属的状态机,如果该状态不是状态机的一部分,则返回nullptr
。
[pure virtual protected]
void QAbstractState::onEntry(QEvent *event)
进入状态时调用该函数。给定的event 是进入状态的原因。重新实现此函数可在状态进入时执行自定义处理。
[pure virtual protected]
void QAbstractState::onExit(QEvent *event)
该函数在状态退出时被调用。给定的event 是导致状态退出的原因。重新实现此函数可在状态退出时执行自定义处理。
QState *QAbstractState::parentState() const
返回该状态的父状态,如果没有父状态,则返回nullptr
。
© 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.