Класс QFinalState
Класс QFinalState предоставляет конечное состояние. Подробнее...
| Заголовок: | #include <QFinalState> |
| CMake: | find_package(Qt6 COMPONENTS StateMachine REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::StateMachine) |
| qmake: | QT += statemachine |
| Наследуется от: | QAbstractState |
Открытые функции
| QFinalState(QState *parent = nullptr) | |
| virtual | ~QFinalState() |
Переопределённые защищённые функции
| virtual bool | event(QEvent *e) override |
| virtual void | onEntry(QEvent *event) override |
| virtual void | onExit(QEvent *event) override |
Подробное описание
Конечное состояние используется для обозначения завершения работы (части) QStateMachine. Когда вводится конечное верхнее состояние, в состоянии машины испускается сигнал finished(). В общем случае, когда вводится конечное подсостояние (потомки QState), испускается сигнал finished() родительского состояния. QFinalState является частью Фреймворка Qt State Machine.
Для использования конечного состояния, создайте объект 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)
Создаёт новый объект QFinalState с заданным родительским состоянием parent.
[virtual] 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).
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qfinalstate.html