Auf dieser Seite

QScxmlNullDataModel Class

Die Klasse „QScxmlNullDataModel“ ist das Null-Datenmodell für eine „ Qt SCXML “-Zustandsmaschine. Mehr...

Header: #include <QScxmlNullDataModel>
CMake: find_package(Qt6 REQUIRED COMPONENTS Scxml)
target_link_libraries(mytarget PRIVATE Qt6::Scxml)
qmake: QT += scxml
Erbt: QScxmlDataModel

Öffentliche Funktionen

QScxmlNullDataModel(QObject *parent = nullptr)
virtual ~QScxmlNullDataModel()

Neu implementierte öffentliche Funktionen

virtual void evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok) override
virtual void evaluateForeach(QScxmlExecutableContent::EvaluatorId id, bool *ok, QScxmlDataModel::ForeachLoopBody *body) override
virtual void evaluateInitialization(QScxmlExecutableContent::EvaluatorId id, bool *ok) override
virtual bool evaluateToBool(QScxmlExecutableContent::EvaluatorId id, bool *ok) override
virtual QString evaluateToString(QScxmlExecutableContent::EvaluatorId id, bool *ok) override
virtual QVariant evaluateToVariant(QScxmlExecutableContent::EvaluatorId id, bool *ok) override
virtual void evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok) override
virtual bool hasScxmlProperty(const QString &name) const override
virtual QVariant scxmlProperty(const QString &name) const override
virtual void setScxmlEvent(const QScxmlEvent &event) override
virtual bool setScxmlProperty(const QString &name, const QVariant &value, const QString &context) override
virtual bool setup(const QVariantMap &initialDataValues) override

Ausführliche Beschreibung

Diese Klasse implementiert das Null-Datenmodell, wie es in der SCXML-Spezifikation – B.1 „Das Null-Datenmodell“ – beschrieben ist. Die Verwendung des Werts „ "null" “ für das Attribut „datamodel“ des Elements „ <scxml> “ bedeutet, dass kein zugrunde liegendes Datenmodell vorhanden ist; dennoch können einige ausführbare Inhalte wie „ In(...) “ oder „ <log> “ weiterhin verwendet werden.

Siehe auch QScxmlStateMachine und QScxmlDataModel.

Dokumentation zu Mitgliedsfunktionen

[explicit] QScxmlNullDataModel::QScxmlNullDataModel(QObject *parent = nullptr)

Erstellt ein neues Datenmodell vom Typ „ Qt SCXML “ (Null), dessen übergeordnetes Objekt „ parent “ ist.

[virtual noexcept] QScxmlNullDataModel::~QScxmlNullDataModel()

Löscht das Datenmodell.

[override virtual] void QScxmlNullDataModel::evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok)

Implementiert neu: QScxmlDataModel::evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok).

Löst einen Fehler aus und setzt „ ok “ auf „ false “, da das Null-Datenmodell keine Zuweisungen auswerten kann.

[override virtual] void QScxmlNullDataModel::evaluateForeach(QScxmlExecutableContent::EvaluatorId id, bool *ok, QScxmlDataModel::ForeachLoopBody *body)

Implementiert neu: QScxmlDataModel::evaluateForeach(QScxmlExecutableContent::EvaluatorId id, bool *ok, QScxmlDataModel::ForeachLoopBody *body).

Löst einen Fehler aus und setzt ` ok ` auf ` false`, da das Null-Datenmodell keine ` <foreach> `-Blöcke auswerten kann.

[override virtual] void QScxmlNullDataModel::evaluateInitialization(QScxmlExecutableContent::EvaluatorId id, bool *ok)

Implementiert: QScxmlDataModel::evaluateInitialization(QScxmlExecutableContent::EvaluatorId id, bool *ok).

Löst einen Fehler aus und setzt „ ok “ auf „ false “, da das Null-Datenmodell keine Daten initialisieren kann.

[override virtual] bool QScxmlNullDataModel::evaluateToBool(QScxmlExecutableContent::EvaluatorId id, bool *ok)

Implementiert neu: QScxmlDataModel::evaluateToBool(QScxmlExecutableContent::EvaluatorId id, bool *ok).

Wertet den ausführbaren Inhalt aus, auf den „ id “ verweist, und protokolliert in „ ok “, ob ein Fehler aufgetreten ist. Gibt das Ergebnis der Auswertung als booleschen Wert zurück. Das Null-Datenmodell kann die Anweisung „ In(...) “ auswerten, sodass dies möglicherweise zu einem tatsächlichen Wert statt zu einem Fehler führt.

[override virtual] QString QScxmlNullDataModel::evaluateToString(QScxmlExecutableContent::EvaluatorId id, bool *ok)

Umsetzung von: QScxmlDataModel::evaluateToString(QScxmlExecutableContent::EvaluatorId id, bool *ok).

Wertet den ausführbaren Inhalt aus, auf den id verweist, und protokolliert in ok, ob ein Fehler aufgetreten ist. Gibt das Ergebnis der Auswertung als Zeichenfolge zurück. Das Null-Datenmodell kann das Element „ <log> “ auswerten, sodass dies möglicherweise zu einem tatsächlichen Wert statt zu einem Fehler führt.

[override virtual] QVariant QScxmlNullDataModel::evaluateToVariant(QScxmlExecutableContent::EvaluatorId id, bool *ok)

Implementiert neu: QScxmlDataModel::evaluateToVariant(QScxmlExecutableContent::EvaluatorId id, bool *ok).

Wertet den ausführbaren Inhalt aus, auf den id verweist, und protokolliert in ok, ob ein Fehler aufgetreten ist. Da es sich um das Null-Datenmodell handelt, führt jede Auswertung tatsächlich zu einem Fehler, wobei ok auf false gesetzt wird. Gibt ein leeres QVariant zurück.

[override virtual] void QScxmlNullDataModel::evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok)

Implementiert neu: QScxmlDataModel::evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok).

Wertet den ausführbaren Inhalt aus, auf den id verweist, und protokolliert in ok, ob ein Fehler aufgetreten ist. Da es sich hierbei um das Null-Datenmodell handelt, führt jede Auswertung tatsächlich zu einem Fehler, wobei ok auf false gesetzt wird.

[override virtual] bool QScxmlNullDataModel::hasScxmlProperty(const QString &name) const

Implementiert neu: ` QScxmlDataModel::hasScxmlProperty(const QString &name) const`.

Gibt ` false` zurück, da das Null-Datenmodell keine Eigenschaften unterstützt.

[override virtual] QVariant QScxmlNullDataModel::scxmlProperty(const QString &name) const

Implementiert: ` QScxmlDataModel::scxmlProperty(const QString &name) const`.

Gibt eine ungültige Variante zurück, da das Null-Datenmodell keine Eigenschaften unterstützt.

Siehe auch setScxmlProperty().

[override virtual] void QScxmlNullDataModel::setScxmlEvent(const QScxmlEvent &event)

Implementiert: ` QScxmlDataModel::setScxmlEvent(const QScxmlEvent &event)`.

Setzt „ event “ nicht tatsächlich, da das Null-Datenmodell keine Ereignisse verarbeitet.

[override virtual] bool QScxmlNullDataModel::setScxmlProperty(const QString &name, const QVariant &value, const QString &context)

Implementiert neu: ` QScxmlDataModel::setScxmlProperty` (const QString &name, const QVariant &value, const QString &context).

Gibt ` false` zurück, da das Null-Datenmodell keine Eigenschaften unterstützt.

Siehe auch scxmlProperty().

[override virtual invokable] bool QScxmlNullDataModel::setup(const QVariantMap &initialDataValues)

Implementiert neu: QScxmlDataModel::setup(const QVariantMap &initialDataValues).

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