QScxmlEvent Class

Die Klasse QScxmlEvent ist ein Ereignis für einen Qt SCXML Zustandsautomaten. Mehr...

Kopfzeile: #include <QScxmlEvent>
CMake: find_package(Qt6 REQUIRED COMPONENTS Scxml)
target_link_libraries(mytarget PRIVATE Qt6::Scxml)
qmake: QT += scxml

Öffentliche Typen

enum EventType { PlatformEvent, InternalEvent, ExternalEvent }

Eigenschaften

Öffentliche Funktionen

QScxmlEvent()
QScxmlEvent(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)
QScxmlEvent &operator=(const QScxmlEvent &other)

Ausführliche Beschreibung

SCXML-Ereignisse steuern Übergänge. Die meisten Ereignisse werden durch die Verwendung der Elemente <raise> und <send> in der Anwendung erzeugt. Der Zustandsautomat erzeugt automatisch einige obligatorische Ereignisse, wie z. B. Fehler.

Weitere Informationen finden Sie unter SCXML-Spezifikation - 5.10.1 Die interne Struktur von Ereignissen. Weitere Informationen darüber, wie sich die Qt SCXML API von der Spezifikation unterscheidet, finden Sie unter SCXML Compliance.

Siehe auch QScxmlStateMachine.

Dokumentation der Mitgliedstypen

enum QScxmlEvent::EventType

Dieser Enum-Typ gibt den Typ eines SCXML-Ereignisses an:

KonstanteWertBeschreibung
QScxmlEvent::PlatformEvent0Ein Ereignis, das intern vom Zustandsautomaten erzeugt wird. Zum Beispiel, Fehler.
QScxmlEvent::InternalEvent1Ein Ereignis, das von einem <raise> Element erzeugt wird.
QScxmlEvent::ExternalEvent2Ein Ereignis, das von einem <send> -Element erzeugt wird.

Eigenschaft Dokumentation

data : QVariant

Diese Eigenschaft enthält die vom Absender eingefügten Daten.

Wenn <param> -Elemente im <send> -Element verwendet werden, enthalten die Daten ein QVariantMap, wobei der Schlüssel das name-Attribut ist und der Wert dem expr-Attribut oder dem location-Attribut entnommen wird.

Wenn ein <content> -Element verwendet wird, enthalten die Daten ein einzelnes Element mit entweder dem Wert des expr-Attributs des <content> -Elements oder den untergeordneten Daten des <content> -Elements.

Zugriffsfunktionen:

QVariant data() const
void setData(const QVariant &data)

delay : int

Diese Eigenschaft enthält die Verzögerung in Millisekunden, nach der das Ereignis nach der Verarbeitung des Elements <send> zugestellt werden soll.

Zugriffsfunktionen:

int delay() const
void setDelay(int delayInMiliSecs)

[read-only] errorEvent : const bool

Diese Eigenschaft gibt an, ob das Ereignis einen Fehler darstellt.

Zugriffsfunktionen:

bool isErrorEvent() const

errorMessage : QString

Diese Eigenschaft enthält eine Fehlermeldung für ein Fehlerereignis oder eine leere QString.

Zugriffsfunktionen:

QString errorMessage() const
void setErrorMessage(const QString &message)

eventType : EventType

Diese Eigenschaft enthält den Typ des Ereignisses.

Zugriffsfunktionen:

QScxmlEvent::EventType eventType() const
void setEventType(const QScxmlEvent::EventType &type)

invokeId : QString

Diese Eigenschaft enthält die ID des aufgerufenen Zustandsautomaten, wenn das Ereignis von einem solchen erzeugt wird.

Zugriffsfunktionen:

QString invokeId() const
void setInvokeId(const QString &invokeid)

name : QString

Diese Eigenschaft enthält den Namen des Ereignisses.

Wenn das Ereignis innerhalb des SCXML-Dokuments erzeugt wird, enthält diese Eigenschaft den Wert des Ereignisattributs, das im Element <raise> oder <send> angegeben ist.

Wenn das Ereignis im C++-Code erstellt und an QScxmlStateMachine übermittelt wird, wird der Wert dieser Eigenschaft mit dem Wert des Ereignisattributs abgeglichen, das im Element <transition> im SCXML-Dokument angegeben ist.

Zugriffsfunktionen:

QString name() const
void setName(const QString &name)

origin : QString

Diese Eigenschaft enthält den URI, der auf den Ursprung eines SCXML-Ereignisses verweist.

Der Ursprung entspricht dem Attribut target des Elements <send>.

Zugriffsfunktionen:

QString origin() const
void setOrigin(const QString &origin)

originType : QString

Diese Eigenschaft enthält den Ursprungstyp eines SCXML-Ereignisses.

Der Ursprungstyp entspricht dem Attribut type des Elements <send>.

Zugriffsfunktionen:

QString originType() const
void setOriginType(const QString &origintype)

[read-only] scxmlType : const QString

Diese Eigenschaft enthält den Ereignistyp.

Zugriffsfunktionen:

QString scxmlType() const

sendId : QString

Diese Eigenschaft enthält die ID des Ereignisses.

Die ID wird von dem Element <cancel> verwendet, um das abzubrechende Ereignis zu identifizieren.

Hinweis: Der Zustandsautomat generiert eine eindeutige ID, wenn das Attribut id nicht im Element <send> angegeben ist. Auf die generierte ID kann über diese Eigenschaft zugegriffen werden.

Zugriffsfunktionen:

QString sendId() const
void setSendId(const QString &sendid)

Dokumentation der Mitgliedsfunktionen

QScxmlEvent::QScxmlEvent()

Erzeugt ein neues externes SCXML-Ereignis.

QScxmlEvent::QScxmlEvent(const QScxmlEvent &other)

Konstruiert eine Kopie von other.

[noexcept] QScxmlEvent::~QScxmlEvent()

Zerstört das SCXML-Ereignis.

[invokable] void QScxmlEvent::clear()

Löscht den Inhalt des Ereignisses.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

QVariant QScxmlEvent::data() const

Gibt die vom Absender enthaltenen Daten zurück.

Hinweis: Getter-Funktion für Eigenschaftsdaten.

Siehe auch setData().

int QScxmlEvent::delay() const

Gibt die Verzögerung in Millisekunden zurück, nach der dieses Ereignis nach der Verarbeitung des Elements <send> ausgelöst werden soll.

Hinweis: Getter-Funktion für die Eigenschaft delay.

Siehe auch setDelay().

QString QScxmlEvent::errorMessage() const

Wenn es sich um ein Fehlerereignis handelt, wird die Fehlermeldung zurückgegeben. Andernfalls wird ein leeres QString zurückgegeben.

Hinweis: Getter-Funktion für die Eigenschaft errorMessage.

Siehe auch setErrorMessage().

QScxmlEvent::EventType QScxmlEvent::eventType() const

Gibt den Typ dieses Ereignisses zurück.

Hinweis: Getter-Funktion für die Eigenschaft eventType.

Siehe auch setEventType() und QScxmlEvent::EventType.

QString QScxmlEvent::invokeId() const

Wenn dieses Ereignis von einem aufgerufenen Zustandsautomaten erzeugt wird, wird die ID des Elements <invoke> zurückgegeben. Andernfalls wird ein leerer Wert zurückgegeben.

Hinweis: Getter-Funktion für die Eigenschaft invokeId.

Siehe auch setInvokeId().

bool QScxmlEvent::isErrorEvent() const

Gibt true zurück, wenn es sich um ein Fehlerereignis handelt, andernfalls false.

Hinweis: Getter-Funktion für die Eigenschaft errorEvent.

QString QScxmlEvent::name() const

Gibt den Namen des Ereignisses zurück.

Hinweis: Getter-Funktion für die Eigenschaft name.

Siehe auch setName().

QString QScxmlEvent::origin() const

Gibt einen URI zurück, der auf den Ursprung eines SCXML-Ereignisses verweist.

Hinweis: Getter-Funktion für die Eigenschaft origin.

Siehe auch setOrigin().

QString QScxmlEvent::originType() const

Gibt den Ursprungstyp eines SCXML-Ereignisses zurück.

Hinweis: Getter-Funktion für die Eigenschaft originType.

Siehe auch setOriginType().

QString QScxmlEvent::scxmlType() const

Gibt den Ereignistyp zurück.

Hinweis: Getter-Funktion für die Eigenschaft scxmlType.

QString QScxmlEvent::sendId() const

Gibt die ID des Ereignisses zurück.

Hinweis: Getter-Funktion für die Eigenschaft sendId.

Siehe auch setSendId().

void QScxmlEvent::setData(const QVariant &data)

Setzt die Nutzdaten auf data.

Hinweis: Setter-Funktion für die Eigenschaft data.

Siehe auch QScxmlEvent::data.

void QScxmlEvent::setDelay(int delayInMiliSecs)

Setzt die Verzögerung in Millisekunden als Wert von delayInMiliSecs.

Hinweis: Setter-Funktion für die Eigenschaft delay.

Siehe auch QScxmlEvent::delay.

void QScxmlEvent::setErrorMessage(const QString &message)

Wenn es sich um ein Fehlerereignis handelt, wird die message als Fehlermeldung gesetzt.

Hinweis: Setter-Funktion für die Eigenschaft errorMessage.

Siehe auch errorMessage().

void QScxmlEvent::setEventType(const QScxmlEvent::EventType &type)

Setzt den Ereignistyp auf type.

Hinweis: Setter-Funktion für die Eigenschaft eventType.

Siehe auch QScxmlEvent::eventType und QScxmlEvent::EventType.

void QScxmlEvent::setInvokeId(const QString &invokeid)

Setzt die ID eines aufgerufenen Zustandsautomaten auf invokeid.

Hinweis: Setter-Funktion für die Eigenschaft invokeId.

Siehe auch QScxmlEvent::invokeId.

void QScxmlEvent::setName(const QString &name)

Setzt den Namen des Ereignisses auf name.

Hinweis: Setter-Funktion für die Eigenschaft name.

Siehe auch name().

void QScxmlEvent::setOrigin(const QString &origin)

Setzt den Ursprung eines SCXML-Ereignisses auf origin.

Hinweis: Setter-Funktion für die Eigenschaft origin.

Siehe auch QScxmlEvent::origin.

void QScxmlEvent::setOriginType(const QString &origintype)

Setzt den Ursprungstyp eines SCXML-Ereignisses auf origintype.

Hinweis: Setter-Funktion für die Eigenschaft originType.

Siehe auch QScxmlEvent::originType.

void QScxmlEvent::setSendId(const QString &sendid)

Setzt die ID sendid für dieses Ereignis.

Hinweis: Setter-Funktion für die Eigenschaft sendId.

Siehe auch sendId().

QScxmlEvent &QScxmlEvent::operator=(const QScxmlEvent &other)

Weist other diesem SCXML-Ereignis zu und gibt einen Verweis auf dieses SCXML-Ereignis zurück.

© 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.