QScxmlStateMachine Class
Die Klasse QScxmlStateMachine bietet eine Schnittstelle zu den aus SCXML-Dateien erstellten Zustandsautomaten. Mehr...
Kopfzeile: | #include <QScxmlStateMachine> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Scxml) target_link_libraries(mytarget PRIVATE Qt6::Scxml) |
qmake: | QT += scxml |
In QML: | ScxmlStateMachine |
Vererbt: | QObject |
Eigenschaften
|
|
Öffentliche Funktionen
QStringList | activeStateNames(bool compress = true) const |
QBindable<QScxmlDataModel *> | bindableDataModel() |
QBindable<QVariantMap> | bindableInitialValues() |
QBindable<bool> | bindableInitialized() const |
QBindable<QList<QScxmlInvokableService *>> | bindableInvokedServices() |
QBindable<QScxmlCompiler::Loader *> | bindableLoader() |
QBindable<QScxmlTableData *> | bindableTableData() |
void | cancelDelayedEvent(const QString &sendId) |
QMetaObject::Connection | connectToEvent(const QString &scxmlEventSpec, Functor &&functor, Qt::ConnectionType type = Qt::AutoConnection) |
QMetaObject::Connection | connectToEvent(const QString &scxmlEventSpec, const QObject *context, Functor &&functor, Qt::ConnectionType type = Qt::AutoConnection) |
QMetaObject::Connection | connectToEvent(const QString &scxmlEventSpec, const QObject *receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection) |
QMetaObject::Connection | connectToState(const QString &scxmlStateName, Functor &&functor, Qt::ConnectionType type = Qt::AutoConnection) |
QMetaObject::Connection | connectToState(const QString &scxmlStateName, 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) |
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 |
Öffentliche Slots
Signale
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) |
Statische öffentliche Mitglieder
QScxmlStateMachine * | fromData(QIODevice *data, const QString &fileName = QString()) |
QScxmlStateMachine * | fromFile(const QString &fileName) |
std::function<void (bool)> | onEntry(Functor functor) |
std::function<void (bool)> | onEntry(const QObject *receiver, const char *method) |
std::function<void (bool)> | onEntry(const typename QtPrivate::FunctionPointer<PointerToMemberFunction>::Object *receiver, PointerToMemberFunction method) |
std::function<void (bool)> | onExit(Functor functor) |
std::function<void (bool)> | onExit(const QObject *receiver, const char *method) |
std::function<void (bool)> | onExit(const typename QtPrivate::FunctionPointer<PointerToMemberFunction>::Object *receiver, PointerToMemberFunction method) |
Geschützte Funktionen
bool | isActive(int stateIndex) const |
Detaillierte Beschreibung
QScxmlStateMachine ist eine Implementierung der State Chart XML (SCXML).
Alle Zustände, die in der SCXML-Datei definiert sind, sind als Eigenschaften von QScxmlStateMachine zugänglich. Diese Eigenschaften sind boolesche Werte und zeigen an, ob der Zustand aktiv oder inaktiv ist.
Hinweis: Die QScxmlStateMachine benötigt eine QEventLoop, um korrekt zu funktionieren. Die Ereignisschleife wird verwendet, um das delay
-Attribut für Ereignisse zu implementieren und um die Verarbeitung eines Zustandsautomaten zu planen, wenn Ereignisse von verschachtelten (oder übergeordneten) Zustandsautomaten empfangen werden.
Dokumentation der Eigenschaft
[bindable]
dataModel : QScxmlDataModel*
Hinweis: Diese Eigenschaft unterstützt QProperty Bindungen.
Diese Eigenschaft enthält das Datenmodell, das für diesen Zustandsautomaten zu verwenden ist.
SCXML-Datenmodelle werden in SCXML-Spezifikation - 5 Datenmodell und Datenmanipulation beschrieben. Weitere Informationen zu unterstützten Datenmodellen finden Sie unter SCXML Compliance.
Das Ändern des Datenmodells, wenn der Zustandsautomat initialized
ist, ist im SCXML-Standard nicht vorgesehen und führt zu undefiniertem Verhalten.
Siehe auch QScxmlDataModel, QScxmlNullDataModel, und QScxmlCppDataModel.
[bindable]
initialValues : QVariantMap
Hinweis: Diese Eigenschaft unterstützt QProperty Bindungen.
Diese Eigenschaft enthält die Anfangswerte, die für die Einrichtung des Datenmodells zu verwenden sind.
Siehe auch QScxmlStateMachine::init() und QScxmlDataModel.
[bindable read-only]
initialized : bool
Hinweis: Diese Eigenschaft unterstützt QProperty Bindungen.
Diese Eigenschaft gibt an, ob der Zustandsautomat initialisiert wurde.
Sie lautet true
, wenn der Zustandsautomat initialisiert wurde, andernfalls false
.
Siehe auch QScxmlStateMachine::init() und QScxmlDataModel.
[read-only]
invoked : const bool
Diese Eigenschaft gibt an, ob der Zustandsautomat von einem äußeren Zustandsautomaten aufgerufen wurde.
true
wenn der Zustandsautomat als Dienst mit dem Element <invoke>
gestartet wurde, ansonsten false
.
Zugriffsfunktionen:
bool | isInvoked() const |
[bindable read-only]
invokedServices : QList<QScxmlInvokableService*>
Hinweis: Diese Eigenschaft unterstützt QProperty Bindungen.
Diese Eigenschaft enthält eine Liste von SCXML-Diensten, die vom Hauptzustandsautomaten aus aufgerufen wurden (möglicherweise rekursiv).
[bindable]
loader : QScxmlCompiler::Loader*
Hinweis: Diese Eigenschaft unterstützt QProperty Bindungen.
Diese Eigenschaft enthält den Loader, der derzeit zum Auflösen und Laden von URIs für den Zustandsautomaten verwendet wird.
[read-only]
name : const QString
Diese Eigenschaft enthält den Namen des Zustandsautomaten, wie er durch das Attribut name des Tags <scxml>
festgelegt wurde.
Zugriffsfunktionen:
QString | name() const |
[read-only]
parseErrors : const QList<QScxmlError>
Diese Eigenschaft enthält die Liste der Parse-Fehler, die beim Erstellen eines Zustandsautomaten aus einer SCXML-Datei aufgetreten sind.
Zugriffsfunktionen:
QList<QScxmlError> | parseErrors() const |
running : bool
Diese Eigenschaft enthält den laufenden Zustand dieses Zustandsautomaten
Zugriffsfunktionen:
bool | isRunning() const |
void | setRunning(bool running) |
Benachrichtigungssignal:
void | runningChanged(bool running) |
Siehe auch start().
[read-only]
sessionId : const QString
Diese Eigenschaft enthält die Sitzungs-ID des aktuellen Zustandsautomaten.
Die Sitzungs-ID wird für die Weiterleitung von Nachrichten zwischen übergeordneten und untergeordneten Zustandsautomaten verwendet. Wird ein Zustandsautomat durch ein <invoke>
-Element gestartet, wird bei jedem Ereignis, das er sendet, das Feld invokeid
auf die Sitzungs-ID gesetzt. Der Zustandsautomat verwendet den Ursprung eines Ereignisses (der durch das target- oder targettexpr-Attribut in einem <send>
-Element festgelegt wird), um Nachrichten an den richtigen untergeordneten Zustandsautomaten zu senden.
Zugriffsfunktionen:
QString | sessionId() const |
Siehe auch QScxmlEvent::invokeId().
[bindable]
tableData : QScxmlTableData*
Hinweis: Diese Eigenschaft unterstützt QProperty Bindungen.
Diese Eigenschaft enthält die Tabellendaten, die beim Generieren von C++ aus einer SCXML-Datei verwendet werden.
Die Klasse, die den Zustandsautomaten implementiert, verwendet diese Eigenschaft, um die generierten Tabellendaten zuzuweisen. Der Zustandsautomat übernimmt nicht das Eigentum an den Tabellendaten.
Dokumentation der Mitgliedsfunktionen
template <typename Functor> QMetaObject::Connection QScxmlStateMachine::connectToEvent(const QString &scxmlEventSpec, Functor &&functor, Qt::ConnectionType type = Qt::AutoConnection)
template <typename Functor> QMetaObject::Connection QScxmlStateMachine::connectToEvent(const QString &scxmlEventSpec, const QObject *context, Functor &&functor, Qt::ConnectionType type = Qt::AutoConnection)
Erstellt eine Verbindung des angegebenen type von dem durch scxmlEventSpec angegebenen Ereignis zu functor, das ein Funktor oder eine Mitgliedsfunktion des optionalen context Objekts sein kann.
Der functor des Empfängers muss einen QScxmlEvent als Parameter haben.
Im Gegensatz zu Ereignisspezifikationen in SCXML-Dokumenten sind Leerzeichen in scxmlEventSpec nicht erlaubt. Um eine Verbindung zu mehreren Ereignissen mit unterschiedlichen Präfixen herzustellen, muss connectToEvent() mehrfach aufgerufen werden.
Gibt einen Handle auf die Verbindung zurück, der später zum Trennen der Verbindung verwendet werden kann.
template <typename Functor> QMetaObject::Connection QScxmlStateMachine::connectToState(const QString &scxmlStateName, Functor &&functor, Qt::ConnectionType type = Qt::AutoConnection)
template <typename Functor> QMetaObject::Connection QScxmlStateMachine::connectToState(const QString &scxmlStateName, const QObject *context, Functor &&functor, Qt::ConnectionType type = Qt::AutoConnection)
Erzeugt eine Verbindung des angegebenen type von dem durch scxmlStateName angegebenen Zustand zu functor, das ein Funktor oder eine Mitgliedsfunktion des optionalen context Objekts sein kann.
Der functor des Empfängers muss ein boolesches Argument annehmen, das angibt, ob der Zustand der Verbindung aktiv oder inaktiv wurde.
Gibt einen Handle auf die Verbindung zurück, der später zum Trennen der Verbindung verwendet werden kann.
[invokable]
QStringList QScxmlStateMachine::activeStateNames(bool compress = true) const
Ruft eine Liste der Zustandsnamen aller aktiven Zustände ab.
Wenn ein Zustand aktiv ist, sind definitionsgemäß auch alle seine übergeordneten Zustände aktiv. Wenn compress true
ist (Standardeinstellung), werden die übergeordneten Zustände herausgefiltert und nur die Blatt-Zustände zurückgegeben. Bei false
wird die vollständige Liste der aktiven Zustände zurückgegeben.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[invokable]
void QScxmlStateMachine::cancelDelayedEvent(const QString &sendId)
Bricht ein verzögertes Ereignis mit dem angegebenen sendId ab.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
QMetaObject::Connection QScxmlStateMachine::connectToEvent(const QString &scxmlEventSpec, const QObject *receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection)
Erstellt eine Verbindung des angegebenen type von dem durch scxmlEventSpec angegebenen Ereignis zum method im Objekt receiver. Der method des Empfängers kann einen QScxmlEvent als Parameter annehmen. Ein Beispiel:
void mySlot(const QScxmlEvent &event);
Im Gegensatz zu Ereignisspezifikationen in SCXML-Dokumenten sind Leerzeichen in der scxmlEventSpec hier nicht erlaubt. Um eine Verbindung zu mehreren Ereignissen mit unterschiedlichen Präfixen herzustellen, muss connectToEvent() mehrfach aufgerufen werden.
Gibt einen Handle auf die Verbindung zurück, der später zum Trennen der Verbindung verwendet werden kann.
QMetaObject::Connection QScxmlStateMachine::connectToState(const QString &scxmlStateName, const QObject *receiver, const char *method, Qt::ConnectionType type = Qt::AutoConnection)
Erstellt eine Verbindung des angegebenen type von dem durch scxmlStateName identifizierten Zustand zu dem method im Objekt receiver. Der method des Empfängers kann ein boolesches Argument annehmen, das angibt, ob der verbundene Zustand aktiv oder inaktiv wurde. Ein Beispiel:
void mySlot(bool active);
Gibt einen Handle auf die Verbindung zurück, der später zum Trennen der Verbindung verwendet werden kann.
QScxmlDataModel *QScxmlStateMachine::dataModel() const
Gibt das vom Zustandsautomaten verwendete Datenmodell zurück.
Hinweis: Getter-Funktion für die Eigenschaft dataModel.
Siehe auch setDataModel().
[signal]
void QScxmlStateMachine::finished()
Dieses Signal wird ausgegeben, wenn der Zustandsautomat einen Endzustand der obersten Ebene erreicht.
Siehe auch running.
[static]
QScxmlStateMachine *QScxmlStateMachine::fromData(QIODevice *data, const QString &fileName = QString())
Erzeugt einen Zustandsautomaten, indem er aus dem durch data angegebenen QIODevice liest.
Diese Methode gibt immer einen Zustandsautomaten zurück. Wenn beim Lesen der SCXML-Datei fileName Fehler auftreten, kann der Zustandsautomat nicht gestartet werden. Die Fehler können durch Aufruf der Methode parseErrors() abgefragt werden.
Siehe auch parseErrors().
[static]
QScxmlStateMachine *QScxmlStateMachine::fromFile(const QString &fileName)
Erzeugt einen Zustandsautomaten aus der durch fileName angegebenen SCXML-Datei.
Diese Methode gibt immer einen Zustandsautomaten zurück. Wenn beim Lesen der SCXML-Datei Fehler auftreten, kann der Zustandsautomat nicht gestartet werden. Die Fehler können durch Aufruf der Methode parseErrors() abgefragt werden.
Siehe auch parseErrors().
[slot]
bool QScxmlStateMachine::init()
Initialisiert den Zustandsautomaten.
Die Initialisierung des Zustandsautomaten besteht aus dem Aufruf von QScxmlDataModel::setup(), dem Setzen der Anfangswerte für <data>
Elemente und dem Ausführen aller <script>
Tags des <scxml>
Tags. Die Anfangsdatenwerte werden der Eigenschaft initialValues
entnommen.
Gibt false
zurück, wenn Parse-Fehler auftreten oder wenn einer der Initialisierungsschritte fehlschlägt. Gibt andernfalls true
zurück.
[invokable]
bool QScxmlStateMachine::isActive(const QString &scxmlStateName) const
Gibt true
zurück, wenn der durch scxmlStateName angegebene Zustand aktiv ist, andernfalls false
.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[protected]
bool QScxmlStateMachine::isActive(int stateIndex) const
Gibt true
zurück, wenn der Zustand mit der ID stateIndex aktiv ist.
Diese Methode ist Teil der Schnittstelle zur kompilierten Darstellung von SCXML-Zustandsautomaten. Sie sollte nur intern und von aus SCXML-Dokumenten kompilierten Zustandsautomaten verwendet werden.
[invokable]
bool QScxmlStateMachine::isDispatchableTarget(const QString &target) const
Gibt true
zurück, wenn eine Nachricht an target von diesem Zustandsautomaten versendet werden kann.
Gültige Ziele sind:
#_parent
für den übergeordneten Zustandsautomaten, wenn der aktuelle Zustandsautomat gestartet wurde von<invoke>
#_internal
für den aktuellen Zustandsautomaten#_scxml_sessionid
wobeisessionid
die Sitzungs-ID des aktuellen Zustandsautomaten ist#_servicename
, wobeiservicename
die ID oder der Name eines Dienstes ist, der mit<invoke>
von diesem Zustandsautomaten gestartet wurde
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
bool QScxmlStateMachine::isRunning() const
Gibt true
zurück, wenn der Zustandsautomat in Betrieb ist, andernfalls false
.
Hinweis: Getter-Funktion für die Eigenschaft running.
Siehe auch setRunning() und runningChanged().
[signal]
void QScxmlStateMachine::log(const QString &label, const QString &msg)
Dieses Signal wird ausgegeben, wenn ein <log>
-Tag in SCXML verwendet wird. label ist der Wert des label-Attributs des <log>
-Tags. msg ist der Wert des evaluierten expr-Attributs des <log>
-Tags. Wenn kein expr-Attribut vorhanden ist, wird ein Null-String zurückgegeben.
[static]
template <typename Functor> std::function<void (bool)> QScxmlStateMachine::onEntry(Functor functor)
Gibt einen Funktor zurück, der ein boolesches Argument akzeptiert und den angegebenen functor aufruft, wenn dieses Argument true
ist. Der angegebene functor darf keine Argumente akzeptieren.
Dies ist nützlich, um Handler für connectToState() zu verpacken, die nur ausgeführt werden sollen, wenn der Zustand betreten wird.
[static]
std::function<void (bool)> QScxmlStateMachine::onEntry(const QObject *receiver, const char *method)
Gibt einen Funktor zurück, der ein boolesches Argument akzeptiert und den angegebenen method auf receiver unter Verwendung von QMetaObject::invokeMethod() aufruft, wenn dieses Argument true
ist und receiver noch nicht gelöscht wurde.
Die angegebene method darf keine Argumente akzeptieren. method ist der einfache Methodenname, nicht eingeschlossen in SIGNAL()
oder SLOT()
.
Dies ist nützlich, um Handler für connectToState() zu verpacken, die nur ausgeführt werden sollen, wenn der Zustand betreten wird.
[static]
template <typename PointerToMemberFunction> std::function<void (bool)> QScxmlStateMachine::onEntry(const typename QtPrivate::FunctionPointer<PointerToMemberFunction>::Object *receiver, PointerToMemberFunction method)
Gibt einen Funktor zurück, der ein boolesches Argument akzeptiert und den angegebenen method auf receiver aufruft, wenn dieses Argument true
ist und receiver noch nicht gelöscht wurde. Der angegebene method darf keine Argumente akzeptieren.
Dies ist nützlich, um Handler für connectToState() zu verpacken, die nur ausgeführt werden sollen, wenn der Zustand betreten wird.
[static]
template <typename Functor> std::function<void (bool)> QScxmlStateMachine::onExit(Functor functor)
Gibt einen Funktor zurück, der ein boolesches Argument akzeptiert und den angegebenen functor aufruft, wenn dieses Argument false
ist. Der angegebene functor darf keine Argumente akzeptieren.
Dies ist nützlich, um Handler für connectToState() zu verpacken, die nur ausgeführt werden sollen, wenn der Zustand verlassen wird.
[static]
std::function<void (bool)> QScxmlStateMachine::onExit(const QObject *receiver, const char *method)
Gibt einen Funktor zurück, der ein boolesches Argument akzeptiert und den angegebenen method auf receiver unter Verwendung von QMetaObject::invokeMethod() aufruft, wenn dieses Argument false
ist und receiver noch nicht gelöscht wurde.
Die angegebene method darf keine Argumente akzeptieren. method ist der einfache Methodenname, nicht eingeschlossen in SIGNAL(...) oder SLOT(...).
Dies ist nützlich, um Handler für connectToState() zu verpacken, die nur ausgeführt werden sollen, wenn der Zustand verlassen wird.
[static]
template <typename PointerToMemberFunction> std::function<void (bool)> QScxmlStateMachine::onExit(const typename QtPrivate::FunctionPointer<PointerToMemberFunction>::Object *receiver, PointerToMemberFunction method)
Gibt einen Funktor zurück, der ein boolesches Argument akzeptiert und den angegebenen method auf receiver aufruft, wenn dieses Argument false
ist und receiver noch nicht gelöscht wurde. Der angegebene method darf keine Argumente akzeptieren.
Dies ist nützlich, um Handler für connectToState() zu verpacken, die nur ausgeführt werden sollen, wenn der Zustand verlassen wird.
[signal]
void QScxmlStateMachine::reachedStableState()
Dieses Signal wird ausgegeben, wenn die Ereigniswarteschlange am Ende eines Makroschritts leer ist oder wenn ein Endzustand erreicht wird.
[signal]
void QScxmlStateMachine::runningChanged(bool running)
Dieses Signal wird ausgesendet, wenn die Eigenschaft running
mit running als Argument geändert wird.
Hinweis: Meldesignal für die Eigenschaft running.
void QScxmlStateMachine::setDataModel(QScxmlDataModel *model)
Setzt das Datenmodell für diesen Zustandsautomaten auf model. Es besteht eine 1:1 Beziehung zwischen Zustandsautomaten und Modellen. Nachdem Sie das Modell einmal festgelegt haben, können Sie es nicht mehr ändern. Alle weiteren Versuche, das Modell mit dieser Methode zu setzen, werden ignoriert.
Hinweis: Setter-Funktion für die Eigenschaft dataModel.
Siehe auch dataModel().
void QScxmlStateMachine::setRunning(bool running)
Startet den Zustandsautomaten, wenn running true
ist, oder stoppt ihn andernfalls.
Hinweis: Setter-Funktion für die Eigenschaft running.
Siehe auch start(), stop(), isRunning(), und runningChanged().
[slot]
void QScxmlStateMachine::start()
Startet diesen Zustandsautomaten. Wenn ein endgültiger Top-Level-Zustand erreicht ist, gibt der Automat das Signal finished() aus.
Hinweis: Ein Zustandsautomat läuft nicht ohne eine laufende Ereignisschleife, wie z. B. die mit QCoreApplication::exec() oder QApplication::exec() gestartete Hauptereignisschleife der Anwendung.
Hinweis: Der Aufruf von start() nach stop() führt noch nicht zu einer vollständigen Rücksetzung der Konfiguration, daher wird dringend davon abgeraten, dies zu tun.
Hinweis: Das Starten einer fertigen Maschine führt zu einer Warnung.
Siehe auch runningChanged(), setRunning(), stop(), und finished().
[invokable]
QStringList QScxmlStateMachine::stateNames(bool compress = true) const
Ruft eine Liste der Zustandsnamen aller Zustände ab.
Wenn compress true
ist (Standardeinstellung), werden die Zustände, die Unterzustände enthalten, herausgefiltert und nur die Blatt-Zustände zurückgegeben. Bei false
wird die vollständige Liste aller Zustände zurückgegeben.
Die zurückgegebene Liste enthält nicht die Zustände möglicher verschachtelter Zustandsautomaten.
Hinweis: Die Reihenfolge der Zustandsnamen in der Liste entspricht der Reihenfolge, in der die Zustände im SCXML-Dokument vorkommen.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[slot]
void QScxmlStateMachine::stop()
Hält diesen Zustandsautomaten an. Der Rechner führt keine weiteren Zustandsübergänge aus. Seine Eigenschaft running
wird auf false
gesetzt.
Siehe auch runningChanged(), start(), und setRunning().
[invokable]
void QScxmlStateMachine::submitEvent(QScxmlEvent *event)
Übergibt das SCXML-Ereignis event je nach Priorität des Ereignisses an die interne oder externe Ereigniswarteschlange.
Wenn eine Verzögerung eingestellt ist, wird das Ereignis nach Ablauf der Zeitüberschreitung in die Warteschlange gestellt. Der Zustandsautomat übernimmt das Eigentum an event und löscht es nach der Verarbeitung.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[invokable]
void QScxmlStateMachine::submitEvent(const QString &eventName)
Eine Utility-Methode zur Erstellung und Übermittlung eines externen Ereignisses mit dem angegebenen eventName als Namen.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
[invokable]
void QScxmlStateMachine::submitEvent(const QString &eventName, const QVariant &data)
Eine Utility-Methode zur Erstellung und Übermittlung eines externen Ereignisses mit dem angegebenen eventName als Namen und data als Nutzdaten.
Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.