QScxmlDataModel Class
La classe QScxmlDataModel est la classe de base du modèle de données pour une machine à états Qt SCXML. Plus d'informations...
| En-tête : | #include <QScxmlDataModel> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Scxml)target_link_libraries(mytarget PRIVATE Qt6::Scxml) |
| qmake : | QT += scxml |
| Hérite : | QObject |
| Héritée par : |
Types publics
| class | ForeachLoopBody |
Propriétés
- stateMachine : QScxmlStateMachine*
Fonctions publiques
| QScxmlDataModel(QObject *parent = nullptr) | |
| QBindable<QScxmlStateMachine *> | bindableStateMachine() |
| virtual void | evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| virtual void | evaluateForeach(QScxmlExecutableContent::EvaluatorId id, bool *ok, QScxmlDataModel::ForeachLoopBody *body) = 0 |
| virtual void | evaluateInitialization(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| virtual bool | evaluateToBool(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| virtual QString | evaluateToString(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| virtual QVariant | evaluateToVariant(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| virtual void | evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok) = 0 |
| virtual bool | hasScxmlProperty(const QString &name) const = 0 |
| virtual QVariant | scxmlProperty(const QString &name) const = 0 |
| virtual void | setScxmlEvent(const QScxmlEvent &event) = 0 |
| virtual bool | setScxmlProperty(const QString &name, const QVariant &value, const QString &context) = 0 |
| void | setStateMachine(QScxmlStateMachine *stateMachine) |
| virtual bool | setup(const QVariantMap &initialDataValues) = 0 |
| QScxmlStateMachine * | stateMachine() const |
Signaux
| void | stateMachineChanged(QScxmlStateMachine *stateMachine) |
Membres publics statiques
| QScxmlDataModel * | createScxmlDataModel(const QString &pluginKey) |
Fonctions protégées
| QScxmlDataModel(QScxmlDataModelPrivate &dd, QObject *parent = nullptr) |
Description détaillée
Les modèles de données SCXML sont décrits dans la spécification SCXML - 5 Modèle de données et manipulation des données. Pour plus d'informations sur les modèles de données pris en charge, voir Conformité SCXML.
Un modèle de données ne peut appartenir qu'à une seule machine d'état.
Voir également QScxmlStateMachine, QScxmlCppDataModel, et QScxmlNullDataModel.
Documentation sur les propriétés
[bindable] stateMachine : QScxmlStateMachine*
Remarque : Cette propriété prend en charge les liaisons QProperty.
Cette propriété contient la machine d'état à laquelle ce modèle de données appartient.
Un modèle de données ne peut appartenir qu'à une seule machine d'état et une machine d'état ne peut avoir qu'un seul modèle de données. Cette relation doit être établie avant le démarrage de l'automate à états. En définissant cette propriété sur un modèle de données, la propriété dataModel correspondante sera automatiquement définie sur le site stateMachine.
Fonctions d'accès :
| QScxmlStateMachine * | stateMachine() const |
| void | setStateMachine(QScxmlStateMachine *stateMachine) |
Signal Notificateur :
| void | stateMachineChanged(QScxmlStateMachine *stateMachine) |
Member Function Documentation
[explicit] QScxmlDataModel::QScxmlDataModel(QObject *parent = nullptr)
Crée un nouveau modèle de données, avec l'objet parent parent.
[explicit protected] QScxmlDataModel::QScxmlDataModel(QScxmlDataModelPrivate &dd, QObject *parent = nullptr)
Crée un nouveau modèle de données à partir de l'objet privé dd, avec l'objet parent parent.
[static] QScxmlDataModel *QScxmlDataModel::createScxmlDataModel(const QString &pluginKey)
Crée un modèle de données à partir d'un plugin spécifié par pluginKey.
[pure virtual] void QScxmlDataModel::evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Évalue l'affectation indiquée par id et attribue à ok la valeur false en cas d'erreur ou true dans le cas contraire.
[pure virtual] void QScxmlDataModel::evaluateForeach(QScxmlExecutableContent::EvaluatorId id, bool *ok, QScxmlDataModel::ForeachLoopBody *body)
Évalue la boucle foreach pointée par id et définit ok en false s'il y a eu une erreur ou en true s'il n'y en a pas eu. La commande body est exécutée à chaque itération.
[pure virtual] void QScxmlDataModel::evaluateInitialization(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Évalue l'initialisation indiquée par id et définit ok en false s'il y a eu une erreur ou en true s'il n'y en a pas eu.
[pure virtual] bool QScxmlDataModel::evaluateToBool(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Évalue le contenu exécutable indiqué par id et définit ok en false en cas d'erreur ou en true dans le cas contraire. Renvoie le résultat de l'évaluation sous la forme d'une valeur booléenne.
[pure virtual] QString QScxmlDataModel::evaluateToString(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Évalue le contenu exécutable indiqué par id et définit ok en false en cas d'erreur ou en true dans le cas contraire. Renvoie le résultat de l'évaluation sous la forme de QString.
[pure virtual] QVariant QScxmlDataModel::evaluateToVariant(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Évalue le contenu exécutable indiqué par id et définit ok en false en cas d'erreur ou en true dans le cas contraire. Renvoie le résultat de l'évaluation sous la forme de QVariant.
[pure virtual] void QScxmlDataModel::evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok)
Évalue le contenu exécutable indiqué par id et attribue à ok la valeur false en cas d'erreur ou true dans le cas contraire. Il est prévu que l'exécution ne renvoie aucun résultat.
[pure virtual] bool QScxmlDataModel::hasScxmlProperty(const QString &name) const
Renvoie true s'il existe une propriété avec l'adresse name donnée, false dans le cas contraire.
[pure virtual] QVariant QScxmlDataModel::scxmlProperty(const QString &name) const
Renvoie la valeur de la propriété name.
Voir également setScxmlProperty().
[pure virtual] void QScxmlDataModel::setScxmlEvent(const QScxmlEvent &event)
Définit le site event à utiliser lors de l'exécution ultérieure du contenu exécutable.
[pure virtual] bool QScxmlDataModel::setScxmlProperty(const QString &name, const QVariant &value, const QString &context)
Définit la valeur value pour la propriété name.
La valeur context est une chaîne de caractères utilisée dans les messages d'erreur pour indiquer l'emplacement du fichier SCXML où l'erreur s'est produite.
Renvoie true en cas de succès ou false en cas d'erreur.
Voir également scxmlProperty().
void QScxmlDataModel::setStateMachine(QScxmlStateMachine *stateMachine)
Définit la machine d'état à laquelle ce modèle appartient à stateMachine. Il existe une relation 1:1 entre les machines d'état et les modèles. Après avoir défini la machine à états une fois, vous ne pouvez plus la modifier. Toute nouvelle tentative de définir la machine à états à l'aide de cette méthode sera ignorée.
Remarque : fonction de définition de la propriété stateMachine.
Voir aussi stateMachine().
[pure virtual invokable] bool QScxmlDataModel::setup(const QVariantMap &initialDataValues)
Initialise le modèle de données avec les valeurs initiales spécifiées par initialDataValues.
Renvoie false en cas d'erreur d'analyse ou d'échec de l'une des étapes d'initialisation. Sinon, elle renvoie true.
Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.
QScxmlStateMachine *QScxmlDataModel::stateMachine() const
Renvoie la machine d'état associée au modèle de données.
Note : Fonction Getter pour la propriété stateMachine.
Voir aussi setStateMachine().
© 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.