Класс QScxmlEvent
Класс QScxmlEvent представляет собой событие для машины состояний Qt SCXML. Подробнее...
| Заголовок: | #include <QScxmlEvent> |
| CMake: | find_package(Qt6 COMPONENTS Scxml REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Scxml) |
| qmake: | QT += scxml |
| С момента: | Qt 5.7 |
Открытые типы
| Перечисление | EventType { PlatformEvent, InternalEvent, ExternalEvent } |
Свойства
|
|
Открытые функции
| QScxmlEvent(const QScxmlEvent &other) | |
| QScxmlEvent() | |
| QScxmlEvent & | operator=(const QScxmlEvent &other) |
| ~QScxmlEvent() | |
| void | clear() |
| QVariant | data() const |
| int | delay() const |
| QString | errorMessage() const |
| QScxmlEvent::EventType | eventType() const |
| QString | invokeId() const |
| bool | isErrorEvent() const |
| QString | name() const |
| QString | origin() const |
| QString | originType() const |
| QString | scxmlType() const |
| QString | sendId() const |
| void | setData(const QVariant &data) |
| void | setDelay(int delayInMiliSecs) |
| void | setErrorMessage(const QString &message) |
| void | setEventType(const QScxmlEvent::EventType &type) |
| void | setInvokeId(const QString &invokeid) |
| void | setName(const QString &name) |
| void | setOrigin(const QString &origin) |
| void | setOriginType(const QString &origintype) |
| void | setSendId(const QString &sendid) |
Подробное описание
SCXML события управляют переходами. Большинство событий генерируется с помощью элементов <raise> и <send> в приложении. Машина состояний автоматически генерирует некоторые обязательные события, такие как ошибки.
Дополнительную информацию можно найти в Спецификации SCXML - 5.10.1 Внутренняя структура событий. Дополнительную информацию о том, чем API Qt SCXML отличается от спецификации, см. в разделе Соответствие SCXML.
См. также QScxmlStateMachine.
Документация по типам членов
перечисление QScxmlEvent::EventType
Это перечисление определяет тип SCXML события:
| Константа | Значение | Описание |
|---|---|---|
QScxmlEvent::PlatformEvent |
0 |
Событие, сгенерированное внутри машины состояний. Например, ошибки. |
QScxmlEvent::InternalEvent |
1 |
Событие, сгенерированное элементом <raise>. |
QScxmlEvent::ExternalEvent |
2 |
Событие, сгенерированное элементом <send>. |
Документация по свойствам
data : QVariant
Это свойство содержит данные, переданные отправителем.
Когда используются элементы <param>, в элементе <send>, данные будут содержать QVariantMap, где ключ — это атрибут name, а значение взято из атрибута expr или атрибута location.
Когда используется элемент <content>, данные будут содержать один элемент со значением атрибута expr элемента <content> или данными дочерних элементов элемента <content>.
Функции доступа:
| QVariant | data() const |
| void | setData(const QVariant &data) |
delay : int
Это свойство содержит задержку в миллисекундах, после которой событие будет доставлено после обработки элемента <send>.
Функции доступа:
| int | delay() const |
| void | setDelay(int delayInMiliSecs) |
[read-only] errorEvent : const bool
Это свойство указывает, является ли событие событием ошибки.
Функции доступа:
| bool | isErrorEvent() const |
errorMessage : QString
Это свойство содержит сообщение об ошибке для события ошибки или пустую строку QString.
Функции доступа:
| QString | errorMessage() const |
| void | setErrorMessage(const QString &message) |
eventType : EventType
Это свойство содержит тип события.
Функции доступа:
| QScxmlEvent::EventType | eventType() const |
| void | setEventType(const QScxmlEvent::EventType &type) |
invokeId : QString
Это свойство содержит идентификатор вызываемой машины состояний, если событие сгенерировано ею.
Функции доступа:
| QString | invokeId() const |
| void | setInvokeId(const QString &invokeid) |
name : QString
Это свойство содержит имя события.
Если событие сгенерировано внутри документа SCXML, это свойство содержит значение атрибута event, указанного внутри элемента <raise> или <send>.
Если событие создано в коде C++ и передано в QScxmlStateMachine, значение этого свойства сопоставляется со значением атрибута event, указанного внутри элемента <transition> в документе SCXML.
Функции доступа:
| QString | name() const |
| void | setName(const QString &name) |
origin : QString
Это свойство содержит URI, указывающий на источник события SCXML.
Источник эквивалентен атрибуту target элемента <send>.
Функции доступа:
| QString | origin() const |
| void | setOrigin(const QString &origin) |
originType : QString
Это свойство содержит тип источника события SCXML.
Тип источника эквивалентен атрибуту type элемента <send>.
Функции доступа:
| QString | originType() const |
| void | setOriginType(const QString &origintype) |
[read-only] scxmlType : const QString
Это свойство содержит тип события.
Функции доступа:
| QString | scxmlType() const |
sendId : QString
Это свойство содержит идентификатор события.
Идентификатор используется элементом <cancel> для идентификации события для отмены.
Примечание: Машина состояний генерирует уникальный идентификатор, если атрибут id не указан в элементе <send>. Сгенерированный идентификатор можно получить через это свойство.
Функции доступа:
| QString | sendId() const |
| void | setSendId(const QString &sendid) |
Документация по членам-функциям
QScxmlEvent::QScxmlEvent(const QScxmlEvent &other)
Создаёт копию other.
QScxmlEvent::QScxmlEvent()
Создаёт новое внешнее событие SCXML.
QScxmlEvent &QScxmlEvent::operator=(const QScxmlEvent &other)
Присваивает other этому событию SCXML и возвращает ссылку на это событие SCXML.
QScxmlEvent::~QScxmlEvent()
Удаляет событие SCXML.
[invokable] void QScxmlEvent::clear()
Очищает содержимое события.
Примечание: Эту функцию можно вызвать через систему метаобъектов и из QML. См. Q_INVOKABLE.
QVariant QScxmlEvent::data() const
Возвращает данные, переданные отправителем.
Примечание: Функция-геттер для свойства data.
См. также setData().
int QScxmlEvent::delay() const
Возвращает задержку в миллисекундах, после которой это событие будет доставлено после обработки элемента <send>.
Примечание: Функция-геттер для свойства delay.
См. также setDelay().
QString QScxmlEvent::errorMessage() const
Если это событие ошибки, возвращает сообщение об ошибке. В противном случае возвращает пустую строку QString.
Примечание: Функция-геттер для свойства errorMessage.
См. также setErrorMessage().
QScxmlEvent::EventType QScxmlEvent::eventType() const
Возвращает тип этого события.
Примечание: Функция-геттер для свойства eventType.
См. также setEventType() и QScxmlEvent::EventType.
QString QScxmlEvent::invokeId() const
Если это событие сгенерировано вызываемой машиной состояний, возвращает ID элемента <invoke>. В противном случае возвращает пустое значение.
Примечание: Функция-геттер для свойства invokeId.
См. также setInvokeId().
bool QScxmlEvent::isErrorEvent() const
Возвращает true если это событие об ошибке, false в противном случае.
Примечание: Функция-геттер для свойства errorEvent.
QString QScxmlEvent::name() const
Возвращает имя события.
Примечание: Функция-геттер для свойства name.
См. также setName().
QString QScxmlEvent::origin() const
Возвращает URI, указывающий на источник события SCXML.
Примечание: Функция-геттер для свойства origin.
См. также setOrigin().
QString QScxmlEvent::originType() const
Возвращает тип источника события SCXML.
Примечание: Функция-геттер для свойства originType.
См. также setOriginType().
QString QScxmlEvent::scxmlType() const
Возвращает тип события.
Примечание: Функция-геттер для свойства scxmlType.
QString QScxmlEvent::sendId() const
Возвращает идентификатор события.
Примечание: Функция-геттер для свойства sendId.
См. также setSendId().
void QScxmlEvent::setData(const QVariant &data)
Устанавливает данные полезной нагрузки в data.
Примечание: Функция-сеттер для свойства data.
См. также QScxmlEvent::data.
void QScxmlEvent::setDelay(int delayInMiliSecs)
Устанавливает задержку в миллисекундах в качестве значения delayInMiliSecs.
Примечание: Функция-сеттер для свойства delay.
См. также QScxmlEvent::delay.
void QScxmlEvent::setErrorMessage(const QString &message)
Если это событие об ошибке, то message устанавливается как сообщение об ошибке.
Примечание: Функция-сеттер для свойства errorMessage.
См. также errorMessage().
void QScxmlEvent::setEventType(const QScxmlEvent::EventType &type)
Устанавливает тип события на type.
Примечание: Функция-сеттер для свойства eventType.
См. также QScxmlEvent::eventType и QScxmlEvent::EventType.
void QScxmlEvent::setInvokeId(const QString &invokeid)
Устанавливает идентификатор вызываемой машины состояний на invokeid.
Примечание: Функция-сеттер для свойства invokeId.
См. также QScxmlEvent::invokeId.
void QScxmlEvent::setName(const QString &name)
Устанавливает имя события на name.
Примечание: Функция-сеттер для свойства name.
См. также name().
void QScxmlEvent::setOrigin(const QString &origin)
Устанавливает источник события SCXML на origin.
Примечание: Функция-сеттер для свойства origin.
См. также QScxmlEvent::origin.
void QScxmlEvent::setOriginType(const QString &origintype)
Устанавливает тип источника события SCXML на origintype.
Примечание: Функция-сеттер для свойства originType.
См. также QScxmlEvent::originType.
void QScxmlEvent::setSendId(const QString &sendid)
Устанавливает идентификатор sendid для этого события.
Примечание: Функция-сеттер для свойства sendId.
См. также sendId().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qscxmlevent.html