QFinalState Class
The QFinalState class provides a final state. More...
Header: | #include <QFinalState> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS StateMachine) target_link_libraries(mytarget PRIVATE Qt6::StateMachine) |
qmake: | QT += statemachine |
Inherits: | QAbstractState |
Public Functions
QFinalState(QState *parent = nullptr) | |
virtual | ~QFinalState() |
Reimplemented Protected Functions
virtual bool | event(QEvent *e) override |
virtual void | onEntry(QEvent *event) override |
virtual void | onExit(QEvent *event) override |
Detailed Description
A final state is used to communicate that (part of) a QStateMachine has finished its work. When a final top-level state is entered, the state machine's finished() signal is emitted. In general, when a final substate (a child of a QState) is entered, the parent state's finished() signal is emitted. QFinalState is part of Qt State Machine Framework.
To use a final state, you create a QFinalState object and add a transition to it from another state. Example:
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();
See also QState::finished().
Member Function Documentation
QFinalState::QFinalState(QState *parent = nullptr)
Constructs a new QFinalState object with the given parent state.
[virtual noexcept]
QFinalState::~QFinalState()
Destroys this final state.
[override virtual protected]
bool QFinalState::event(QEvent *e)
Reimplements: QAbstractState::event(QEvent *e).
[override virtual protected]
void QFinalState::onEntry(QEvent *event)
Reimplements: QAbstractState::onEntry(QEvent *event).
[override virtual protected]
void QFinalState::onExit(QEvent *event)
Reimplements: QAbstractState::onExit(QEvent *event).