En esta página

QScxmlNullDataModel Class

La clase QScxmlNullDataModel es el modelo de datos nulos para una Qt SCXML stateMachine. Más...

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

Funciones Públicas

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

Funciones públicas reimplementadas

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

Descripción detallada

Esta clase implementa el modelo de datos nulo descrito en la Especificación SCXML - B.1 El modelo de datos nulo. El uso del valor "null" para el atributo datamodel del elemento <scxml> significa que no existe un modelo de datos subyacente, pero aún puede utilizarse algún contenido ejecutable, como In(...) o <log>.

Véase también QScxmlStateMachine y QScxmlDataModel.

Documentación de las funciones miembro

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

Crea un nuevo modelo de datos Qt SCXML null, con el objeto padre parent.

[virtual noexcept] QScxmlNullDataModel::~QScxmlNullDataModel()

Destruye el modelo de datos.

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

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

Lanza un error y establece ok a false, porque el modelo de datos null no puede evaluar asignaciones.

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

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

Lanza un error y establece ok a false, porque el modelo de datos nulo no puede evaluar bloques <foreach>.

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

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

Lanza un error y establece ok a false, porque el modelo de datos null no puede inicializar datos.

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

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

Evalúa el contenido ejecutable apuntado por id y registra en ok si hubo algún error. Devuelve el resultado de la evaluación como un valor booleano. El modelo de datos null puede evaluar la instrucción In(...), por lo que esto podría dar como resultado un valor real, en lugar de un error.

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

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

Evalúa el contenido ejecutable apuntado por id y registra en ok si hubo algún error. Devuelve el resultado de la evaluación como cadena. El modelo de datos null puede evaluar el elemento <log>, por lo que esto podría dar como resultado un valor real, en lugar de un error

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

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

Evalúa el contenido ejecutable apuntado por id y registra en ok si hubo algún error. Dado que se trata del modelo de datos nulo, cualquier evaluación resultará en un error, con ok establecido en false. Devuelve un QVariant vacío.

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

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

Evalúa el contenido ejecutable apuntado por id y registra en ok si hubo algún error. Como este es el modelo de datos nulo, cualquier evaluación resultará de hecho en un error, con ok establecido en false.

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

Reimplementa: QScxmlDataModel::hasScxmlProperty(const QString &name) const.

Devuelve false, porque el modelo de datos null no admite propiedades.

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

Reimplementa: QScxmlDataModel::scxmlProperty(const QString &nombre) const.

Devuelve una variante no válida, porque el modelo de datos null no admite propiedades.

Véase también setScxmlProperty().

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

Reimplementa: QScxmlDataModel::setScxmlEvent(const QScxmlEvent &event).

En realidad no establece el event, porque el modelo de datos null no maneja eventos.

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

Reimplementa: QScxmlDataModel::setScxmlProperty(const QString &name, const QVariant &value, const QString &context).

Devuelve false, porque el modelo de datos null no admite propiedades.

Véase también scxmlProperty().

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

Reimplementa: 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.