Sur cette page

QScxmlEvent Class

La classe `QScxmlEvent` correspond à un événement associé à une machine à états de type « Qt SCXML ». En savoir plus...

En-tête : #include <QScxmlEvent>
CMake : find_package(Qt6 REQUIRED COMPONENTS Scxml)
target_link_libraries(mytarget PRIVATE Qt6::Scxml)
qmake : QT += scxml

Types publics

enum EventType { PlatformEvent, InternalEvent, ExternalEvent }

Propriétés

Fonctions publiques

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)

Description détaillée

Les événements SCXML déclenchent des transitions. La plupart des événements sont générés à l’aide des éléments <raise> et <send> dans l’application. La machine à états génère automatiquement certains événements obligatoires, tels que les erreurs.

Pour plus d'informations, consultez la spécification SCXML - 5.10.1 Structure interne des événements. Pour plus d'informations sur les différences entre l'API Qt SCXML et la spécification, consultez la section Conformité SCXML.

Voir également QScxmlStateMachine.

Documentation sur les types de membres

enum QScxmlEvent::EventType

Ce type d'énumération spécifie le type d'un événement SCXML :

ConstanteValeurDescription
QScxmlEvent::PlatformEvent0Événement généré en interne par la machine à états. Par exemple, des erreurs.
QScxmlEvent::InternalEvent1Un événement généré par un élément « <raise> ».
QScxmlEvent::ExternalEvent2Un événement généré par un élément d'<send>.

Documentation sur les propriétés

data : QVariant

Cette propriété contient les données fournies par l'expéditeur.

Lorsque des éléments « <param> » sont utilisés dans l'élément « <send> », les données contiennent un objet « QVariantMap » dont la clé est l'attribut « name » et dont la valeur est tirée de l'attribut « expr » ou de l'attribut « location ».

Lorsqu’un élément ` <content> ` est utilisé, les données contiennent un seul élément dont la valeur correspond soit à celle de l’attribut `expr` de l’élément ` <content> `, soit aux données enfants de l’élément ` <content> `.

Fonctions d’accès :

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

delay : int

Cette propriété indique le délai, en millisecondes, après lequel l'événement doit être transmis une fois le traitement de l'élément ` <send> ` terminé.

Fonctions d'accès :

int delay() const
void setDelay(int delayInMiliSecs)

[read-only] errorEvent : bool

Cette propriété indique si l'événement correspond à une erreur.

Fonctions d'accès :

bool isErrorEvent() const

errorMessage : QString

Cette propriété contient un message d'erreur correspondant à un événement d'erreur, ou un objet ` QString` vide.

Fonctions d'accès :

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

eventType : EventType

Cette propriété contient le type de l'événement.

Fonctions d'accès :

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

invokeId : QString

Cette propriété contient l'identifiant de la machine à états invoquée si l'événement est généré par celle-ci.

Fonctions d'accès :

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

name : QString

Cette propriété contient le nom de l'événement.

Si l'événement est généré au sein du document SCXML, cette propriété contient la valeur de l'attribut « event » spécifié dans l'élément « <raise> » ou « <send> ».

Si l’événement est créé dans le code C++ et transmis à l’ QScxmlStateMachine, la valeur de cette propriété est comparée à celle de l’attribut event spécifié dans l’élément <transition> du document SCXML.

Fonctions d’accès :

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

origin : QString

Cette propriété contient l'URI qui pointe vers l'origine d'un événement SCXML.

L'origine correspond à l'attribut « target » de l'élément « <send> ».

Fonctions d'accès :

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

originType : QString

Cette propriété contient le type d'origine d'un événement SCXML.

Le type d’origine est équivalent à l’attribut « type » de l’élément « <send> ».

Fonctions d'accès :

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

[read-only] scxmlType : QString

Cette propriété contient le type d'événement.

Fonctions d'accès :

QString scxmlType() const

sendId : QString

Cette propriété contient l'identifiant de l'événement.

Cet identifiant est utilisé par l'élément <cancel> pour identifier l'événement à annuler.

Remarque : la machine à états génère un identifiant unique si l’attribut id n’est pas spécifié dans l’élément <send>. L’identifiant généré est accessible via cette propriété.

Fonctions d'accès :

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

Documentation des fonctions membres

QScxmlEvent::QScxmlEvent()

Crée un nouvel événement SCXML externe.

QScxmlEvent::QScxmlEvent(const QScxmlEvent &other)

Crée une copie de other.

[noexcept] QScxmlEvent::~QScxmlEvent()

Supprime l'événement SCXML.

[invokable] void QScxmlEvent::clear()

Efface le contenu de l'événement.

Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.

QVariant QScxmlEvent::data() const

Renvoie les données fournies par l'expéditeur.

Remarque : fonctiongetter pour la propriété data.

Voir aussi setData().

int QScxmlEvent::delay() const

Renvoie le délai, en millisecondes, après lequel cet événement doit être déclenché une fois l'élément « <send> » traité.

Remarque : fonctiongetter pour la propriété delay.

Voir aussi setDelay().

QString QScxmlEvent::errorMessage() const

S'il s'agit d'un événement d'erreur, renvoie le message d'erreur. Sinon, renvoie une instance vide de ` QString`.

Remarque : fonctiongetter pour la propriété errorMessage.

Voir aussi setErrorMessage().

QScxmlEvent::EventType QScxmlEvent::eventType() const

Renvoie le type de cet événement.

Remarque : fonctiongetter pour la propriété eventType.

Voir également setEventType() et QScxmlEvent::EventType.

QString QScxmlEvent::invokeId() const

Si cet événement est généré par une machine à états invoquée, renvoie l'ID de l'élément « <invoke> ». Sinon, renvoie une valeur vide.

Remarque : fonctiongetter pour la propriété `invokeId`.

Voir aussi setInvokeId().

bool QScxmlEvent::isErrorEvent() const

Renvoie « true » s'il s'agit d'un événement d'erreur, « false » dans le cas contraire.

Remarque : fonctionde récupération pour la propriété errorEvent.

QString QScxmlEvent::name() const

Renvoie le nom de l'événement.

Remarque : fonctiongetter pour la propriété name.

Voir aussi setName().

QString QScxmlEvent::origin() const

Renvoie un URI pointant vers l'origine d'un événement SCXML.

Remarque : fonctionde lecture pour la propriété « origin ».

Voir aussi setOrigin().

QString QScxmlEvent::originType() const

Renvoie le type d'origine d'un événement SCXML.

Remarque : fonctiongetter pour la propriété originType.

Voir aussi setOriginType().

QString QScxmlEvent::scxmlType() const

Renvoie le type d'événement.

Remarque : fonctionde lecture pour la propriété scxmlType.

QString QScxmlEvent::sendId() const

Renvoie l'identifiant de l'événement.

Remarque : fonctiongetter pour la propriété sendId.

Voir aussi setSendId().

void QScxmlEvent::setData(const QVariant &data)

Définit les données de charge utile sur data.

Remarque : fonctionde définition de la propriété data.

Voir également QScxmlEvent::data.

void QScxmlEvent::setDelay(int delayInMiliSecs)

Définit le délai en millisecondes comme valeur de la propriété delayInMiliSecs.

Remarque : fonctionde définition de la propriété ` delay`.

Voir également QScxmlEvent::delay.

void QScxmlEvent::setErrorMessage(const QString &message)

S'il s'agit d'un événement d'erreur, la propriété message est définie comme message d'erreur.

Remarque : fonctionde définition pour la propriété errorMessage.

Voir aussi errorMessage().

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

Définit le type d'événement sur « type ».

Remarque : fonctionde définition pour la propriété « eventType ».

Voir également QScxmlEvent::eventType et QScxmlEvent::EventType.

void QScxmlEvent::setInvokeId(const QString &invokeid)

Définit l'ID d'une machine à états invoquée sur invokeid.

Remarque : fonctionde définition de la propriété invokeId.

Voir également QScxmlEvent::invokeId.

void QScxmlEvent::setName(const QString &name)

Définit le nom de l'événement sur « name ».

Remarque : fonctionde définition de la propriété name.

Voir aussi name().

void QScxmlEvent::setOrigin(const QString &origin)

Définit l'origine d'un événement SCXML sur origin.

Remarque : fonctionde définition de la propriété origin.

Voir également QScxmlEvent::origin.

void QScxmlEvent::setOriginType(const QString &origintype)

Définit le type d'origine d'un événement SCXML sur « origintype ».

Remarque : fonctionde définition de la propriété originType.

Voir également QScxmlEvent::originType.

void QScxmlEvent::setSendId(const QString &sendid)

Définit l'identifiant « sendid » pour cet événement.

Remarque : fonctionde définition de la propriété sendId.

Voir aussi sendId().

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

Attribue la propriété « other » à cet événement SCXML et renvoie une référence à cet événement SCXML.

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