Spec-Zone.ru › Qt 5.6

Класс QState

Класс QState предоставляет универсальное состояние для QStateMachine. Подробнее...

Заголовок: #include <QState>
qmake: QT += core
С момента: Qt 4.6
Наследует: QAbstractState
Наследуется от:

QStateMachine

  • Список всех членов, включая унаследованные

Типы

перечисление ChildMode { ExclusiveStates, ParallelStates }
перечисление RestorePolicy { DontRestoreProperties, RestoreProperties }

Свойства

  • childMode : ChildMode
  • errorState : QAbstractState *
  • initialState : QAbstractState *
  • 1 свойство унаследовано от QAbstractState
  • 1 свойство унаследовано от QObject

Открытые функции

QState(QState *parent = Q_NULLPTR)
QState(ChildMode childMode, QState *parent = Q_NULLPTR)
~QState()
void addTransition(QAbstractTransition *transition)
QSignalTransition * addTransition(const QObject *sender, const char *signal, QAbstractState *target)
QSignalTransition * addTransition(const QObject *sender, PointerToMemberFunction signal, QAbstractState *target)
QAbstractTransition * addTransition(QAbstractState *target)
void assignProperty(QObject *object, const char *name, const QVariant &value)
ChildMode childMode() const
QAbstractState * errorState() const
QAbstractState * initialState() const
void removeTransition(QAbstractTransition *transition)
void setChildMode(ChildMode mode)
void setErrorState(QAbstractState *state)
void setInitialState(QAbstractState *state)
QList<QAbstractTransition *> transitions() const
  • 3 открытых функции унаследованы от QAbstractState
  • 31 открытых функции унаследованы от QObject

Сигналы

void childModeChanged()
void errorStateChanged()
void finished()
void initialStateChanged()
void propertiesAssigned()
  • 3 сигнала унаследованы от QAbstractState
  • 2 сигнала унаследованы от QObject

Переопределённые защищённые функции

virtual bool event(QEvent *e)
virtual void onEntry(QEvent *event)
virtual void onExit(QEvent *event)
  • 3 защищённые функции унаследованы от QAbstractState
  • 9 защищённых функций унаследованы от QObject

Дополнительные унаследованные члены

  • 1 открытый слот унаследован от QObject
  • 11 статические открытые члены унаследованы от QObject
  • 3 защищённые функции унаследованы от QAbstractState
  • 9 защищённых функций унаследованы от QObject

Подробное описание

Класс QState предоставляет универсальное состояние для QStateMachine.

Объекты QState могут иметь дочерние состояния и переходы в другие состояния. QState является частью Фреймворка управления состояниями.

Функция addTransition() добавляет переход. Функция removeTransition() удаляет переход. Функция transitions() возвращает исходящие переходы состояния.

Функция assignProperty() используется для определения назначений свойств, которые должны быть выполнены при входе в состояние.

Состояния верхнего уровня должны получать объект QStateMachine в качестве родительского состояния или добавляться в машину состояний с помощью QStateMachine::addState().

Состояния с дочерними состояниями

Свойство childMode определяет, как обрабатываются дочерние состояния. Для непараллельных групп состояний функция setInitialState() должна быть вызвана для установки начального состояния. Дочерние состояния являются взаимоисключающими, и машина состояний должна знать, какое дочернее состояние войти, когда родительское состояние является целью перехода.

Состояние испускает сигнал QState::finished() при входе в конечное дочернее состояние (QFinalState).

Функция setErrorState() устанавливает состояние ошибки состояния. Состояние ошибки — это состояние, в которое машина состояний перейдет, если при попытке перехода в состояние будет обнаружена ошибка (например, потому что начальное состояние не было установлено).

Документация по типу члена

перечисление QState::ChildMode

Это перечисление определяет, как обрабатываются дочерние состояния состояния.

Постоянная Значение Описание
QState::ExclusiveStates 0 Дочерние состояния взаимоисключающие, и начальное состояние необходимо установить, вызвав QState::setInitialState().
QState::ParallelStates 1 Дочерние состояния параллельны. При входе в родительское состояние все его дочерние состояния входят параллельно.

перечисление QState::RestorePolicy

Это перечисление определяет тип политики восстановления. Политика восстановления применяется при входе в состояние, которое устанавливает одно или несколько свойств. Если политика восстановления установлена в RestoreProperties, машина состояний сохранит исходное значение свойства перед установкой нового значения.

Позже, когда машина войдёт в состояние, которое не устанавливает значение для данного свойства, свойство будет автоматически восстановлено до своего начального значения.

Только одно начальное значение будет сохранено для любого данного свойства. Если значение свойства уже было сохранено машиной состояний, оно не будет перезаписано, пока свойство не будет успешно восстановлено.

Константа Значение Описание
QState::DontRestoreProperties 0 Машина состояний не должна сохранять начальные значения свойств и восстанавливать их позже.
QState::RestoreProperties 1 Машина состояний должна сохранять начальные значения свойств и восстанавливать их позже.

См. также QStateMachine::globalRestorePolicy и QState::assignProperty().

Документация свойств

childMode : ChildMode

Это свойство содержит режим дочерних состояний этого состояния.

Значение по умолчанию для этого свойства — QState::ExclusiveStates.

Функции доступа:

ChildMode childMode() const
void setChildMode(ChildMode mode)

Сигнал уведомления:

void childModeChanged() [см. примечание ниже]

Примечание: Это частный сигнал. Он может использоваться в соединениях сигналов, но не может быть испущен пользователем.

errorState : QAbstractState *

Это свойство содержит состояние ошибки этого состояния.

Функции доступа:

QAbstractState * errorState() const
void setErrorState(QAbstractState *state)

Сигнал уведомления:

void errorStateChanged() [см. примечание ниже]

Примечание: Это частный сигнал. Он может использоваться в соединениях сигналов, но не может быть испущен пользователем.

initialState : QAbstractState *

Это свойство содержит начальное состояние этого состояния (одно из его дочерних состояний).

Функции доступа:

QAbstractState * initialState() const
void setInitialState(QAbstractState *state)

Сигнал уведомления:

void initialStateChanged() [см. примечание ниже]

Примечание: Это частный сигнал. Он может использоваться в соединениях сигналов, но не может быть испущен пользователем.

Документация функций-членов

QState::QState(QState *parent = Q_NULLPTR)

Создаёт новое состояние с заданным состоянием parent.

QState::QState(ChildMode childMode, QState *parent = Q_NULLPTR)

Создаёт новое состояние с заданным childMode и заданным состоянием parent.

QState::~QState()

Удаляет это состояние.

void QState::addTransition(QAbstractTransition *transition)

Добавляет заданный transition. Переход имеет это состояние в качестве источника. Это состояние принимает во владение переход.

QSignalTransition *QState::addTransition(const QObject *sender, const char *signal, QAbstractState *target)

Добавляет переход, связанный с заданным signal заданного объекта sender, и возвращает новый объект QSignalTransition. Переход имеет это состояние в качестве источника и заданное target в качестве целевого состояния.

QSignalTransition *QState::addTransition(const QObject *sender, PointerToMemberFunction signal, QAbstractState *target)

Это перегруженная функция.

Добавляет переход, связанный с заданным signal заданного объекта sender, и возвращает новый объект QSignalTransition. Переход имеет это состояние в качестве источника и заданное target в качестве целевого состояния.

Функция была добавлена в Qt 5.5.

QAbstractTransition *QState::addTransition(QAbstractState *target)

Добавляет безусловный переход из этого состояния в заданное target состояние и возвращает объект нового перехода.

void QState::assignProperty(QObject *object, const char *name, const QVariant &value)

Указывает этому состоянию установить свойство с заданным name заданного object в заданное value при входе в состояние.

См. также propertiesAssigned().

ChildMode QState::childMode() const

Возвращает режим дочерних состояний этого состояния.

Примечание: Функция-получатель для свойства childMode.

См. также setChildMode().

void QState::childModeChanged()

Этот сигнал испускается, когда свойство childMode изменяется.

Функция была добавлена в Qt 5.4.

Примечание: Это частный сигнал. Он может использоваться в соединениях сигналов, но не может быть испущен пользователем.

Примечание: Сигнал уведомления для свойства childMode.

См. также QState::childMode.

QAbstractState *QState::errorState() const

Возвращает состояние ошибки этого состояния.

Примечание: Функция-получатель для свойства errorState.

См. также setErrorState() и QStateMachine::error().

void QState::errorStateChanged()

Этот сигнал испускается, когда свойство errorState изменяется.

Функция была добавлена в Qt 5.4.

Примечание: Это частный сигнал. Он может использоваться в соединениях сигналов, но не может быть испущен пользователем.

Примечание: Сигнал уведомления для свойства errorState.

См. также QState::errorState.

bool QState::event(QEvent *e)

Переопределена из QObject::event().

void QState::finished()

Этот сигнал испускается, когда конечное дочернее состояние этого состояния введено.

Примечание: Это частный сигнал. Он может использоваться в соединениях сигналов, но не может быть испущен пользователем.

См. также QFinalState.

QAbstractState *QState::initialState() const

Возвращает начальное состояние этого состояния или 0, если у состояния нет начального состояния.

Примечание: Функция-получатель для свойства initialState.

См. также setInitialState().

void QState::initialStateChanged()

Этот сигнал испускается, когда свойство initialState изменяется.

Функция была добавлена в Qt 5.4.

Примечание: Это частный сигнал. Он может использоваться в соединениях сигналов, но не может быть испущен пользователем.

Примечание: Сигнал уведомления для свойства initialState.

См. также QState::initialState.

void QState::onEntry(QEvent *event)

Переопределено из QAbstractState::onEntry().

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

Переопределено из QAbstractState::onExit().

[signal] void QState::propertiesAssigned()

Этот сигнал испускается, когда все свойства получили свои окончательные значения. Если состояние присваивает значение одному или нескольким свойствам, для которых существует анимация (либо заданная на переходе, либо как анимация по умолчанию в машине состояний), тогда сигнал не будет испущен, пока все такие анимации не завершат воспроизведение.

Если нет соответствующих анимаций или нет назначений свойств для состояния, то сигнал будет испущен сразу перед входом в состояние.

Примечание: Это частный сигнал. Он может использоваться в соединениях сигналов, но не может быть испущен пользователем.

См. также QState::assignProperty() и QAbstractTransition::addAnimation().

void QState::removeTransition(QAbstractTransition *transition)

Удаляет указанный переход transition из этого состояния. Состояние высвобождает владение переходом.

См. также addTransition().

void QState::setChildMode(ChildMode mode)

Устанавливает режим потомков mode для этого состояния.

Примечание: Функция-сеттер для свойства childMode.

См. также childMode().

void QState::setErrorState(QAbstractState *state)

Устанавливает состояние ошибки этого состояния в указанное состояние state. Если состояние ошибки не установлено или установлено в 0, состояние будет наследовать состояние ошибки родителя рекурсивно. Если состояние ошибки не установлено ни для самого состояния, ни для любого из его предков, ошибка приведёт к остановке выполнения машины и выводу сообщения об ошибке в консоль.

Примечание: Функция-сеттер для свойства errorState.

См. также errorState().

void QState::setInitialState(QAbstractState *state)

Устанавливает начальное состояние этого состояния в указанное состояние state. state должен быть потомком этого состояния.

Примечание: Функция-сеттер для свойства initialState.

См. также initialState().

QList<QAbstractTransition *> QState::transitions() const

Возвращает исходящие переходы этого состояния (т.е. переходы, где это состояние является исходным состоянием исходное состояние), или пустой список, если у этого состояния нет исходящих переходов.

Эта функция была добавлена в Qt 4.7.

См. также addTransition().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qstate.html

Spec-Zone.ru

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