QScxmlDataModel Class

QScxmlDataModel 클래스는 Qt SCXML 상태 머신의 데이터 모델 베이스 클래스입니다. 더 보기...

헤더: #include <QScxmlDataModel>
CMake: find_package(Qt6 REQUIRED COMPONENTS Scxml)
target_link_libraries(mytarget PRIVATE Qt6::Scxml)
qmake: QT += scxml
상속합니다: QObject
상속 대상

QScxmlCppDataModelQScxmlNullDataModel

공용 유형

속성

공공 기능

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

신호

void stateMachineChanged(QScxmlStateMachine *stateMachine)

정적 공용 멤버

QScxmlDataModel *createScxmlDataModel(const QString &pluginKey)

보호된 함수

QScxmlDataModel(QScxmlDataModelPrivate &dd, QObject *parent = nullptr)

상세 설명

SCXML 데이터 모델은 SCXML 사양 - 5 데이터 모델 및 데이터 조작에 설명되어 있습니다. 지원되는 데이터 모델에 대한 자세한 내용은 SCXML 규정 준수를 참조하세요.

하나의 데이터 모델은 하나의 상태 머신에만 속할 수 있습니다.

QScxmlStateMachine, QScxmlCppDataModel, 및 QScxmlNullDataModel도 참조 하세요.

속성 문서

[bindable] stateMachine : QScxmlStateMachine*

참고: 이 속성은 QProperty 바인딩을 지원합니다.

이 속성은 이 데이터 모델이 속한 상태 머신을 보유합니다.

데이터 모델은 하나의 상태 머신에만 속할 수 있으며, 상태 머신은 하나의 데이터 모델만 가질 수 있습니다. 이 관계는 스테이트 머신을 시작하기 전에 설정해야 합니다. 데이터 모델에서 이 속성을 설정하면 stateMachine 에 해당하는 dataModel 속성도 자동으로 설정됩니다.

멤버 함수 문서

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

부모 개체 parent 를 사용하여 새 데이터 모델을 만듭니다.

[explicit protected] QScxmlDataModel::QScxmlDataModel(QScxmlDataModelPrivate &dd, QObject *parent = nullptr)

부모 개체 parent 를 사용하여 개인 개체 dd 에서 새 데이터 모델을 만듭니다.

[static] QScxmlDataModel *QScxmlDataModel::createScxmlDataModel(const QString &pluginKey)

pluginKey 으로 지정된 플러그인에서 데이터 모델을 생성합니다.

[pure virtual] void QScxmlDataModel::evaluateAssignment(QScxmlExecutableContent::EvaluatorId id, bool *ok)

id 에서 가리키는 과제를 평가하고 오류가 있는 경우 okfalse 으로, 없는 경우 true 으로 설정합니다.

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

id 에서 가리키는 foreach 루프를 평가하고 오류가 있으면 okfalse 으로, 없으면 true 으로 설정합니다. body 은 각 반복마다 실행됩니다.

[pure virtual] void QScxmlDataModel::evaluateInitialization(QScxmlExecutableContent::EvaluatorId id, bool *ok)

id 에서 가리키는 초기화를 평가하고 오류가 있으면 okfalse 으로, 없으면 true 으로 설정합니다.

[pure virtual] bool QScxmlDataModel::evaluateToBool(QScxmlExecutableContent::EvaluatorId id, bool *ok)

id 에서 가리키는 실행 콘텐츠를 평가하여 오류가 있으면 okfalse 으로, 없으면 true 으로 설정합니다. 평가 결과를 부울 값으로 반환합니다.

[pure virtual] QString QScxmlDataModel::evaluateToString(QScxmlExecutableContent::EvaluatorId id, bool *ok)

id 에서 가리키는 실행 콘텐츠를 평가하고 오류가 있으면 okfalse 으로, 없으면 true 으로 설정합니다. 평가 결과를 QString 로 반환합니다.

[pure virtual] QVariant QScxmlDataModel::evaluateToVariant(QScxmlExecutableContent::EvaluatorId id, bool *ok)

id 에서 가리키는 실행 콘텐츠를 평가하고 오류가 있으면 okfalse 으로, 없으면 true 으로 설정합니다. 평가 결과를 QVariant 로 반환합니다.

[pure virtual] void QScxmlDataModel::evaluateToVoid(QScxmlExecutableContent::EvaluatorId id, bool *ok)

id 에서 가리키는 실행 콘텐츠를 평가하고 오류가 있는 경우 okfalse 으로, 없는 경우 true 으로 설정합니다. 실행은 결과를 반환하지 않을 것으로 예상됩니다.

[pure virtual] bool QScxmlDataModel::hasScxmlProperty(const QString &name) const

지정된 name 속성이 존재하면 true, 그렇지 않으면 false 을 반환합니다.

[pure virtual] QVariant QScxmlDataModel::scxmlProperty(const QString &name) const

속성의 값을 반환합니다 name.

setScxmlProperty()도 참조하세요 .

[pure virtual] void QScxmlDataModel::setScxmlEvent(const QScxmlEvent &event)

이후 실행 가능한 콘텐츠 실행에 사용할 event 을 설정합니다.

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

name 속성에 대해 value 값을 설정합니다.

context 은 오류 메시지에서 오류가 발생한 SCXML 파일 내 위치를 나타내는 데 사용되는 문자열입니다.

성공하면 true, 오류가 발생하면 false 을 반환합니다.

scxmlProperty()도 참조하세요 .

void QScxmlDataModel::setStateMachine(QScxmlStateMachine *stateMachine)

이 모델이 속한 스테이트 머신을 stateMachine 으로 설정합니다. 스테이트 머신과 모델 사이에는 1:1 관계가 있습니다. 스테이트 머신을 한 번 설정하면 더 이상 변경할 수 없습니다. 이 메서드를 사용하여 스테이트 머신을 설정하려는 추가 시도는 무시됩니다.

참고: 속성에 대한 세터 함수 stateMachine.

stateMachine()도 참조하세요 .

[pure virtual invokable] bool QScxmlDataModel::setup(const QVariantMap &initialDataValues)

initialDataValues 에 지정된 초기값으로 데이터 모델을 초기화합니다.

구문 분석 오류가 발생하거나 초기화 단계 중 하나라도 실패하면 false 을 반환합니다. 그렇지 않으면 true 을 반환합니다.

참고: 이 함수는 메타객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.

QScxmlStateMachine *QScxmlDataModel::stateMachine() const

데이터 모델과 연관된 상태 머신을 반환합니다.

참고: stateMachine 속성에 대한 게터 함수입니다.

setStateMachine()도 참조하세요 .

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