QFinalState 类

QFinalState 类提供了最终状态。 更多信息...

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

公共函数

QFinalState(QState *parent = nullptr)
虚拟~QFinalState()

重渊的保护函数

虚拟 boolevent(QEvent *e) 覆盖
虚拟 voidonEntry(QEvent *event) 覆盖
虚拟 voidonExit(QEvent *event) 覆盖

详细描述

最终状态用于表示(部分)QStateMachine 已完成其工作。当进入最终顶层状态时,状态机的 finished() 信号被发射。通常,当进入最终子状态(QState 的子节点)时,父状态的 finished() 信号被发射。QFinalState 是 Qt 状态机框架的一部分。

要使用最终状态,您需要创建一个 QFinalState 对象,并从另一个状态中添加一个转换到该状态。示例

QPushButton button;

QStateMachine machine;
QState *s1 = new QState();
QFinalState *s2 = new QFinalState();
s1->addTransition(&button, SIGNAL(clicked()), s2);
machine.addState(s1);
machine.addState(s2);

QObject::connect(&machine, SIGNAL(finished()), QApplication::instance(), SLOT(quit()));
machine.setInitialState(s1);
machine.start();

另请参阅QState::finished

成员函数文档

QFinalState::QFinalState(QState *parent = nullptr)

使用给定的 parent 状态构建一个新的 QFinalState 对象。

[virtual noexcept] QFinalState::~QFinalState()

销毁此最终状态。

[override virtual protected] bool QFinalState::event(QEvent *e)

重渊:QAbstractState::event(QEvent *e).

[override virtual protected] void QFinalState::onEntry(QEvent *event)

重渊:QAbstractState::onEntry(QEvent *event).

[override virtual protected] void QFinalState::onExit(QEvent *event)

重渊:QAbstractState::onExit(QEvent *event).

© 2024 Qt公司版权所有。本文档中所含的贡献均为各自所有者的版权。提供的文档根据自由软件基金会发布的版本1.3的GNU自由文档许可协议进行许可。Qt及其相关标志是芬兰和/或全球其他地区的Qt公司的商标。商标。所有其他商标均为各自所有者的财产。