Класс QScxmlStateMachine
Класс QScxmlStateMachine предоставляет интерфейс к конечным автоматам, созданным из файлов SCXML. Подробнее...
| Заголовок: | #include <QScxmlStateMachine> |
| CMake: | find_package(Qt6 COMPONENTS Scxml REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Scxml) |
| qmake: | QT += scxml |
| С тех пор: | Qt 5.7 |
| Инициализируется: | ScxmlStateMachine |
| Наследует: | QObject |
Свойства
|
|
Общедоступные функции
| QStringList | activeStateNames(bool compress = true) const |
| void | cancelDelayedEvent(const QString &sendId) |
| QMetaObject::Connection | connectToEvent(const QString &scxmlEventSpec, const QObject *receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection) |
| QMetaObject::Connection | connectToEvent(const QString &scxmlEventSpec, const typename QtPrivate::FunctionPointer<PointerToMemberFunction>::Object *receiver, PointerToMemberFunction method, Qt::ConnectionType type = Qt::AutoConnection) |
| typename std::enable_if<!QtPrivate::FunctionPointer<Functor>::IsPointerToMemberFunction && !std::is_same<const char *, Functor>::value, QMetaObject::Connection>::type | connectToEvent(const QString &scxmlEventSpec, Functor functor, Qt::ConnectionType type = Qt::AutoConnection) |
| typename std::enable_if<!QtPrivate::FunctionPointer<Functor>::IsPointerToMemberFunction && !std::is_same<const char *, Functor>::value, QMetaObject::Connection>::type | connectToEvent(const QString &scxmlEventSpec, const QObject *context, Functor functor, Qt::ConnectionType type = Qt::AutoConnection) |
| QMetaObject::Connection | connectToState(const QString &scxmlStateName, const QObject *receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection) |
| QMetaObject::Connection | connectToState(const QString &scxmlStateName, const typename QtPrivate::FunctionPointer<PointerToMemberFunction>::Object *receiver, PointerToMemberFunction method, Qt::ConnectionType type = Qt::AutoConnection) |
| typename std::enable_if<!QtPrivate::FunctionPointer<Functor>::IsPointerToMemberFunction && !std::is_same<const char *, Functor>::value, QMetaObject::Connection>::type | connectToState(const QString &scxmlStateName, Functor functor, Qt::ConnectionType type = Qt::AutoConnection) |
| typename std::enable_if<!QtPrivate::FunctionPointer<Functor>::IsPointerToMemberFunction && !std::is_same<const char *, Functor>::value, QMetaObject::Connection>::type | connectToState(const QString &scxmlStateName, const QObject *context, Functor functor, Qt::ConnectionType type = Qt::AutoConnection) |
| QScxmlDataModel * | dataModel() const |
| QVariantMap | initialValues() |
| QList<QScxmlInvokableService *> | invokedServices() const |
| bool | isActive(const QString &scxmlStateName) const |
| bool | isDispatchableTarget(const QString &target) const |
| bool | isInitialized() const |
| bool | isInvoked() const |
| bool | isRunning() const |
| QScxmlCompiler::Loader * | loader() const |
| QString | name() const |
| QList<QScxmlError> | parseErrors() const |
| QString | sessionId() const |
| void | setDataModel(QScxmlDataModel *model) |
| void | setInitialValues(const QVariantMap &initialValues) |
| void | setLoader(QScxmlCompiler::Loader *loader) |
| void | setRunning(bool running) |
| void | setTableData(QScxmlTableData *tableData) |
| QStringList | stateNames(bool compress = true) const |
| void | submitEvent(QScxmlEvent *event) |
| void | submitEvent(const QString &eventName) |
| void | submitEvent(const QString &eventName, const QVariant &data) |
| QScxmlTableData * | tableData() const |
Открытые слоты
| bool | init() |
| void | start() |
| void | stop() |
Сигналы
| void | dataModelChanged(QScxmlDataModel *model) |
| void | finished() |
| void | initialValuesChanged(const QVariantMap &initialValues) |
| void | initializedChanged(bool initialized) |
| void | invokedServicesChanged(const QList<QScxmlInvokableService *> &invokedServices) |
| void | loaderChanged(QScxmlCompiler::Loader *loader) |
| void | log(const QString &label, const QString &msg) |
| void | reachedStableState() |
| void | runningChanged(bool running) |
| void | tableDataChanged(QScxmlTableData *tableData) |
Статические публичные члены
| QScxmlStateMachine * | fromData(QIODevice *data, const QString &fileName = QString()) |
| QScxmlStateMachine * | fromFile(const QString &fileName) |
| std::function<void (bool)> | onEntry(const QObject *receiver, const char *method) |
| std::function<void (bool)> | onEntry(Functor functor) |
| std::function<void (bool)> | onEntry(const typename QtPrivate::FunctionPointer<PointerToMemberFunction>::Object *receiver, PointerToMemberFunction method) |
| std::function<void (bool)> | onExit(const QObject *receiver, const char *method) |
| std::function<void (bool)> | onExit(Functor functor) |
| std::function<void (bool)> | onExit(const typename QtPrivate::FunctionPointer<PointerToMemberFunction>::Object *receiver, PointerToMemberFunction method) |
Защищенные функции
| bool | isActive(int stateIndex) const |
Подробное описание
QScxmlStateMachine — это реализация State Chart XML (SCXML).
Все состояния, определённые в файле SCXML, доступны как свойства QScxmlStateMachine. Эти свойства являются булевыми значениями и указывают, активно или неактивно состояние.
Примечание: QScxmlStateMachine требует QEventLoop для корректной работы. Поток событий используется для реализации атрибута delay, а также для планирования обработки машины состояний при получении событий от вложенных (или родительских) машин состояний.
Документация свойств
dataModel : QScxmlDataModel*
Это свойство содержит модель данных, используемую для этой машины состояний.
Модели данных SCXML описаны в Спецификации SCXML - 5 Модель данных и манипуляции с данными. Дополнительную информацию о поддерживаемых моделях данных см. в Соблюдение спецификации SCXML.
Изменение модели данных, когда машина состояний была initialized не указано в стандарте SCXML и приводит к неопределённому поведению.
Функции доступа:
| QScxmlDataModel * | dataModel() const |
| void | setDataModel(QScxmlDataModel *model) |
Сигнал уведомления:
| void | dataModelChanged(QScxmlDataModel *model) |
См. также QScxmlDataModel, QScxmlNullDataModel и QScxmlCppDataModel.
initialValues : QVariantMap
Это свойство содержит начальные значения, используемые для настройки модели данных.
Функции доступа:
| QVariantMap | initialValues() |
| void | setInitialValues(const QVariantMap &initialValues) |
Сигнал уведомления:
| void | initialValuesChanged(const QVariantMap &initialValues) |
См. также QScxmlStateMachine::init() и QScxmlDataModel.
[read-only] initialized : const bool
Это свойство указывает, была ли машина состояний инициализирована.
Принимает значение true если машина состояний инициализирована, false в противном случае.
Функции доступа:
| bool | isInitialized() const |
Сигнал уведомления:
| void | initializedChanged(bool initialized) |
См. также QScxmlStateMachine::init() и QScxmlDataModel.
[read-only] invoked : const bool
Это свойство указывает, была ли машина состояний вызвана из внешней машины состояний.
true когда машина состояний была запущена как служба с элементом <invoke>, false в противном случае.
Функции доступа:
| bool | isInvoked() const |
[read-only] invokedServices : QList<QScxmlInvokableService*> const
Это свойство содержит список SCXML-служб, которые были вызваны из основной машины состояний (возможно, рекурсивно).
Функции доступа:
| QList<QScxmlInvokableService *> | invokedServices() const |
Сигнал уведомления:
| void | invokedServicesChanged(const QList<QScxmlInvokableService *> &invokedServices) |
loader : QScxmlCompiler::Loader*
Это свойство содержит загрузчик, который используется для разрешения и загрузки URI для машины состояний.
Функции доступа:
| QScxmlCompiler::Loader * | loader() const |
| void | setLoader(QScxmlCompiler::Loader *loader) |
Сигнал уведомления:
| void | loaderChanged(QScxmlCompiler::Loader *loader) |
[read-only] name : const QString
Это свойство содержит имя машины состояний, заданное атрибутом name тега <scxml>.
Функции доступа:
| QString | name() const |
[read-only] parseErrors : const QList<QScxmlError>
Это свойство содержит список ошибок разбора, произошедших при создании машины состояний из файла SCXML.
Функции доступа:
| QList<QScxmlError> | parseErrors() const |
running : bool
Это свойство содержит состояние выполнения этой машины состояний.
Функции доступа:
| bool | isRunning() const |
| void | setRunning(bool running) |
Сигнал уведомления:
| void | runningChanged(bool running) |
См. также start().
[read-only] sessionId : const QString
Это свойство содержит идентификатор сеанса текущей машины состояний.
Идентификатор сеанса используется для маршрутизации сообщений между родительской и дочерней машинами состояний. Если машина состояний запущена элементом <invoke>, все отправляемые ею события будут иметь поле invokeid со значением идентификатора сеанса. Машина состояний будет использовать источник события (который задаётся атрибутами target или targetexpr элемента <send>) для пересылки сообщений соответствующей дочерней машине состояний.
Функции доступа:
| QString | sessionId() const |
См. также QScxmlEvent::invokeId().
tableData : QScxmlTableData*
Это свойство содержит данные таблицы, используемые при генерации кода C++ из файла SCXML.
Класс, реализующий машину состояний, использует это свойство для присваивания сгенерированных данных таблицы. Машина состояний не предполагает владение данными таблицы.
Функции доступа:
| QScxmlTableData * | tableData() const |
| void | setTableData(QScxmlTableData *tableData) |
Сигнал уведомления:
| void | tableDataChanged(QScxmlTableData *tableData) |
Документация по членам-функциям
[signal] void QScxmlStateMachine::finished()
Этот сигнал испускается, когда машина состояний достигает конечного состояния верхнего уровня.
См. также running.
[slot] bool QScxmlStateMachine::init()
Инициализирует машину состояний.
Инициализация машины состояний включает вызов QScxmlDataModel::setup(), установку начальных значений для элементов <data>, и выполнение тегов <script> тега <scxml>. Начальные значения данных берутся из свойства initialValues.
Возвращает false если произошли ошибки разбора или какой-либо из шагов инициализации не удался. Возвращает true в противном случае.
[signal] void QScxmlStateMachine::log(const QString &label, const QString &msg)
Этот сигнал испускается, если в SCXML используется тег <log>. label — значение атрибута label тега <log>. msg — значение вычисленного атрибута expr тега <log>. Если атрибут expr отсутствует, будет возвращена пустая строка.
[signal] void QScxmlStateMachine::reachedStableState()
Этот сигнал испускается, когда очередь событий пуста в конце шага макроса или когда достигнут конечный (final) состояние.
[signal] void QScxmlStateMachine::runningChanged(bool running)
Этот сигнал испускается, когда свойство running изменяется со значением running в качестве аргумента.
Примечание: Сигнал-уведомление для свойства running.
[slot] void QScxmlStateMachine::start()
Запускает эту машину состояний. Машина сбросит свою конфигурацию и перейдет в начальное состояние. Когда будет введено конечное верхнеуровневое состояние, машина испустит сигнал finished().
Примечание: Машина состояний не будет работать без работающей очереди событий, такой как основная очередь событий приложения, запущенная с помощью QCoreApplication::exec() или QApplication::exec().
См. также runningChanged(), setRunning(), stop() и finished().
[slot] void QScxmlStateMachine::stop()
Останавливает эту машину состояний. Машина больше не будет выполнять дальнейшие переходы между состояниями. Свойство running устанавливается в значение false.
См. также runningChanged(), start() и setRunning().
[invokable] QStringList QScxmlStateMachine::activeStateNames(bool compress = true) const
Возвращает список имен всех активных состояний.
Когда состояние активно, все его родительские состояния по определению также активны. Если compress имеет значение true (по умолчанию), родительские состояния отфильтровываются, и возвращаются только листовые состояния. Если compress имеет значение false, возвращается весь список активных состояний.
Примечание: Эта функция может быть вызвана через систему метаобъектов и из QML. См. Q_INVOKABLE.
[invokable] void QScxmlStateMachine::cancelDelayedEvent(const QString &sendId)
Отменяет отложенное событие со значением sendId.
Примечание: Эта функция может быть вызвана через систему метаобъектов и из QML. См. Q_INVOKABLE.
QMetaObject::Connection QScxmlStateMachine::connectToEvent(const QString &scxmlEventSpec, const QObject *receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection)
Создаёт подключение указанного типа type от события, заданного scxmlEventSpec, к методу method в объекте receiver. Метод method объекта receiver может принимать QScxmlEvent в качестве параметра. Например:
void mySlot(const QScxmlEvent &event);
В отличие от спецификаций событий в документации SCXML, пробелы в scxmlEventSpec здесь недопустимы. Для подключения к нескольким событиям с различными префиксами, необходимо вызывать connectToEvent() несколько раз.
Возвращает дескриптор подключения, который можно использовать для последующего отключения.
template <typename PointerToMemberFunction> QMetaObject::Connection QScxmlStateMachine::connectToEvent(const QString &scxmlEventSpec, const typename QtPrivate::FunctionPointer<PointerToMemberFunction>::Object *receiver, PointerToMemberFunction method, Qt::ConnectionType type = Qt::AutoConnection)
Создаёт подключение заданного типа type от события, заданного scxmlEventSpec, к методу method в объекте receiver.
Метод method объекта receiver должен принимать QScxmlEvent в качестве параметра.
В отличие от спецификаций событий в документации SCXML, пробелы в scxmlEventSpec здесь недопустимы. Для подключения к нескольким событиям с различными префиксами, необходимо вызывать connectToEvent() несколько раз.
Возвращает дескриптор подключения, который можно использовать для последующего отключения.
template <typename Functor> typename std::enable_if<!QtPrivate::FunctionPointer<Functor>::IsPointerToMemberFunction && !std::is_same<const char *, Functor>::value, QMetaObject::Connection>::type QScxmlStateMachine::connectToEvent(const QString &scxmlEventSpec, Functor functor, Qt::ConnectionType type = Qt::AutoConnection)
Создаёт подключение заданного типа type от события, заданного scxmlEventSpec, к functor.
Functor должен принимать QScxmlEvent в качестве параметра.
В отличие от спецификаций событий в документации SCXML, пробелы в scxmlEventSpec здесь недопустимы. Для подключения к нескольким событиям с различными префиксами, необходимо вызывать connectToEvent() несколько раз.
Возвращает дескриптор подключения, который можно использовать для последующего отключения.
template <typename Functor> typename std::enable_if<!QtPrivate::FunctionPointer<Functor>::IsPointerToMemberFunction && !std::is_same<const char *, Functor>::value, QMetaObject::Connection>::type QScxmlStateMachine::connectToEvent(const QString &scxmlEventSpec, const QObject *context, Functor functor, Qt::ConnectionType type = Qt::AutoConnection)
Создаёт подключение заданного типа type от события, заданного scxmlEventSpec, к functor с контекстом context.
Functor должен принимать QScxmlEvent в качестве параметра.
В отличие от спецификаций событий в документации SCXML, пробелы в scxmlEventSpec здесь недопустимы. Для подключения к нескольким событиям с различными префиксами, необходимо вызывать connectToEvent() несколько раз.
Возвращает дескриптор подключения, который можно использовать для последующего отключения.
QMetaObject::Connection QScxmlStateMachine::connectToState(const QString &scxmlStateName, const QObject *receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection)
Создаёт подключение указанного типа type от состояния, идентифицированного scxmlStateName, к методу method в объекте receiver. Метод method объекта receiver может принимать булевый аргумент, указывающий, активировано или деактивировано подключенное состояние. Например:
void mySlot(bool active);
Возвращает дескриптор подключения, который можно использовать для последующего отключения.
template <typename PointerToMemberFunction> QMetaObject::Connection QScxmlStateMachine::connectToState(const QString &scxmlStateName, const typename QtPrivate::FunctionPointer<PointerToMemberFunction>::Object *receiver, PointerToMemberFunction method, Qt::ConnectionType type = Qt::AutoConnection)
Создаёт подключение заданного типа type от состояния, заданного scxmlStateName, к методу method в объекте receiver.
Метод method объекта receiver должен принимать булевый аргумент, указывающий, активировано или деактивировано подключенное состояние.
Возвращает дескриптор подключения, который можно использовать для последующего отключения.
END_OF_DOCUMENT_MARKERtemplate <typename Functor> typename std::enable_if<!QtPrivate::FunctionPointer<Functor>::IsPointerToMemberFunction && !std::is_same<const char *, Functor>::value, QMetaObject::Connection>::type QScxmlStateMachine::connectToState(const QString &scxmlStateName, Functor functor, Qt::ConnectionType type = Qt::AutoConnection)
Создаёт соединение заданного type от состояния, указанного scxmlStateName, к functor.
Functor должен принимать булевый аргумент, указывающий, стало ли подключённое состояние активным или неактивным.
Возвращает дескриптор соединения, который можно использовать для последующего отключения.
template <typename Functor> typename std::enable_if<!QtPrivate::FunctionPointer<Functor>::IsPointerToMemberFunction && !std::is_same<const char *, Functor>::value, QMetaObject::Connection>::type QScxmlStateMachine::connectToState(const QString &scxmlStateName, const QObject *context, Functor functor, Qt::ConnectionType type = Qt::AutoConnection)
Создаёт соединение заданного type от состояния, указанного scxmlStateName, к functor, используя context в качестве контекста.
Functor должен принимать булевый аргумент, указывающий, стало ли подключённое состояние активным или неактивным.
Возвращает дескриптор соединения, который можно использовать для последующего отключения.
QScxmlDataModel *QScxmlStateMachine::dataModel() const
Возвращает модель данных, используемую автоматом состояния.
Примечание: Функция-геттер для свойства dataModel.
См. также setDataModel().
[static] QScxmlStateMachine *QScxmlStateMachine::fromData(QIODevice *data, const QString &fileName = QString())
Создаёт автомат состояния путём чтения из QIODevice, заданного data.
Этот метод всегда возвращает автомат состояния. Если при чтении файла SCXML, fileName, возникнут ошибки, автомат состояния не может быть запущен. Ошибки можно получить, вызвав метод parseErrors().
См. также parseErrors().
[static] QScxmlStateMachine *QScxmlStateMachine::fromFile(const QString &fileName)
Создаёт автомат состояния из файла SCXML, заданного fileName.
Этот метод всегда возвращает автомат состояния. Если при чтении файла SCXML возникнут ошибки, автомат состояния не может быть запущен. Ошибки можно получить, вызвав метод parseErrors().
См. также parseErrors().
[invokable] bool QScxmlStateMachine::isActive(const QString &scxmlStateName) const
Возвращает true, если состояние, заданное scxmlStateName, активно, false в противном случае.
Примечание: Эта функция может быть вызвана через систему метаобъектов и из QML. См. Q_INVOKABLE.
[protected] bool QScxmlStateMachine::isActive(int stateIndex) const
Возвращает true, если состояние с ID stateIndex активно.
Этот метод является частью интерфейса к скомпилированному представлению автоматов состояний SCXML. Он должен использоваться только внутри и автоматами состояний, скомпилированными из документов SCXML.
[invokable] bool QScxmlStateMachine::isDispatchableTarget(const QString &target) const
Возвращает true, если сообщение в target может быть обработано этим автоматом состояния.
Действительные целевые адреса:
-
#_parentдля родительского автомата состояния, если текущий автомат состояния запущен родительским<invoke> -
#_internalдля текущего автомата состояния -
#_scxml_sessionid, гдеsessionid— идентификатор сессии текущего автомата состояния -
#_servicename, гдеservicename— ID или имя службы, запущенной с<invoke>данным автоматом состояния
Примечание: Эта функция может быть вызвана через систему метаобъектов и из QML. См. Q_INVOKABLE.
bool QScxmlStateMachine::isRunning() const
Возвращает true если автомат состояния запущен, false в противном случае.
Примечание: Функция-геттер для свойства running.
См. также setRunning() и runningChanged().
[static] std::function<void (bool)> QScxmlStateMachine::onEntry(const QObject *receiver, const char *method)
Возвращает функтор, который принимает булевый аргумент и вызывает указанный method в receiver, используя QMetaObject::invokeMethod(), если этот аргумент true и receiver ещё не удалён.
Указанный method не должен принимать никаких аргументов. method — это просто имя метода, а не заключённое в SIGNAL(...) или SLOT(...).
Это полезно для обертывания обработчиков для connectToState(), которые должны выполняться только при входе в состояние.
[static] template <typename Functor> std::function<void (bool)> QScxmlStateMachine::onEntry(Functor functor)
Возвращает функтор, который принимает булевый аргумент и вызывает указанный functor, если этот аргумент true. Указанный functor не должен принимать никаких аргументов.
Это полезно для обертывания обработчиков для connectToState(), которые должны выполняться только при входе в состояние.
[static] template <typename PointerToMemberFunction> std::function<void (bool)> QScxmlStateMachine::onEntry(const typename QtPrivate::FunctionPointer<PointerToMemberFunction>::Object *receiver, PointerToMemberFunction method)
Возвращает функтор, который принимает булевый аргумент и вызывает указанный method в receiver, если этот аргумент true и receiver ещё не удалён. Указанный method не должен принимать никаких аргументов.
Это полезно для обертывания обработчиков для connectToState(), которые должны выполняться только при входе в состояние.
[static] std::function<void (bool)> QScxmlStateMachine::onExit(const QObject *receiver, const char *method)
Возвращает функтор, который принимает булевый аргумент и вызывает указанный method в receiver, используя QMetaObject::invokeMethod(), если этот аргумент false и receiver ещё не удалён.
Указанный method не должен принимать никаких аргументов. method — это просто имя метода, а не заключённое в SIGNAL(...) или SLOT(...).
Это полезно для обертывания обработчиков для connectToState(), которые должны выполняться только при выходе из состояния.
[static] template <typename Functor> std::function<void (bool)> QScxmlStateMachine::onExit(Functor functor)
Возвращает функтор, который принимает булевый аргумент и вызывает указанный functor, если этот аргумент false. Указанный functor не должен принимать никаких аргументов.
Это полезно для обертывания обработчиков для connectToState(), которые должны выполняться только при выходе из состояния.
[static] template <typename PointerToMemberFunction> std::function<void (bool)> QScxmlStateMachine::onExit(const typename QtPrivate::FunctionPointer<PointerToMemberFunction>::Object *receiver, PointerToMemberFunction method)
Возвращает функтор, который принимает булевый аргумент и вызывает указанный method в receiver, если этот аргумент false и receiver ещё не удалён. Указанный method не должен принимать никаких аргументов.
Это полезно для обертывания обработчиков connectToState(), которые должны выполняться только при выходе из состояния.
void QScxmlStateMachine::setDataModel(QScxmlDataModel *model)
Устанавливает модель данных для этой машины состояний в model. Между машинами состояний и моделями существует отношение 1:1. После установки модели ее больше нельзя изменить. Любые дальнейшие попытки установить модель с помощью этого метода будут игнорироваться.
Примечание: Метод-сеттер для свойства dataModel.
См. также dataModel().
void QScxmlStateMachine::setRunning(bool running)
Запускает машину состояний, если running равно true, или останавливает ее в противном случае.
Примечание: Метод-сеттер для свойства running.
См. также start(), stop(), isRunning() и runningChanged().
[invokable] QStringList QScxmlStateMachine::stateNames(bool compress = true) const
Возвращает список имен состояний всех состояний.
Когда compress равно true (по умолчанию), состояния, содержащие дочерние состояния, будут отфильтрованы, и будут возвращены только листовые состояния. Когда оно равно false, будет возвращен полный список всех состояний.
Возвращаемый список не содержит состояний возможных вложенных машин состояний.
Примечание: Порядок имен состояний в списке соответствует порядку, в котором состояния встречались в документе SCXML.
Примечание: Этот метод может быть вызван через систему метаобъектов и из QML. См. Q_INVOKABLE.
[invokable] void QScxmlStateMachine::submitEvent(QScxmlEvent *event)
Отправляет событие SCXML event во внутреннюю или внешнюю очередь событий в зависимости от приоритета события.
Если установлена задержка, событие будет помещено в очередь для доставки после истечения тайм-аута. Машина состояний берет на себя ответственность за event и удаляет его после обработки.
Примечание: Этот метод может быть вызван через систему метаобъектов и из QML. См. Q_INVOKABLE.
[invokable] void QScxmlStateMachine::submitEvent(const QString &eventName)
Утилитарный метод для создания и отправки внешнего события с указанным eventName в качестве имени.
Примечание: Этот метод может быть вызван через систему метаобъектов и из QML. См. Q_INVOKABLE.
[invokable] void QScxmlStateMachine::submitEvent(const QString &eventName, const QVariant &data)
Утилитарный метод для создания и отправки внешнего события с указанным eventName в качестве имени и data в качестве данных полезной нагрузки.
Примечание: Этот метод может быть вызван через систему метаобъектов и из QML. См. Q_INVOKABLE.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qscxmlstatemachine.html