Spec-Zone.ru › Qt 5.15

Класс 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API