Класс QFinalState
Класс QFinalState предоставляет конечное состояние. Подробнее...
| Заголовок: | #include <QFinalState> |
| qmake: | QT += core |
| С момента: | Qt 4.6 |
| Наследуется от: | QAbstractState |
Этот класс был представлен в Qt 4.6.
Открытые функции
| 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 является частью Фреймворка машины состояний.
Для использования конечного состояния, создайте объект 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-5.15/qfinalstate.html