- class QScxmlDataModel#
QScxmlDataModel
类是 Qt SCXML 状态机的数据模型基类。 更多信息…继承自:
QScxmlNullDataModel
,QScxmlCppDataModel
概要#
属性#
stateMachine
- 属于此数据模型的状态机
方法#
def
__init__()
def
stateMachine()
虚方法#
def
evaluateToBool()
def
evaluateToVoid()
def
scxmlProperty()
def
setScxmlEvent()
def
setup()
信号#
静态函数#
注释
本文件可能包含自动从C++转换到Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译存在问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来告诉我们。
详细说明#
SCXML数据模型在SCXML规范 - 第5节 数据模型和数据操纵中描述。有关支持的数据模型的更多信息,请参阅SCXML兼容性 。
一个数据模型只能属于一个状态机。
注释
当使用
from __feature__ import true_property
时,可以直接使用属性,否则可以通过访问函数进行使用。- propertystateMachine#
此属性保存属于该数据模型的状态机。
数据模型只能属于一个状态机,状态机也只有一个数据模型。这种关系需要在状态机启动之前设置。设置数据模型上的此属性将自动设置状态机上的对应
dataModel
属性。创建一个新的数据模型,具有父对象
parent
。- 静态方法createScxmlDataModel#
- 参数:
pluginKey – str
- 返回类型:
根据指定的
pluginKey
创建数据模型。- 抽象 evaluateAssignment(id, ok)#
- 参数:
id – int
ok – bool
评估由
id
指向的赋值操作,如果发生错误则将ok
设置为false
,如果没有错误则设置为true
。- 抽象 evaluateForeach(id, ok, body)#
- 参数:
id – int
ok – bool
body –
ForeachLoopBody
评估由
id
指向的 foreach 循环,如果发生错误则将ok
设置为false
,如果没有错误则设置为true
。每次迭代都会执行body
。- 抽象 evaluateInitialization(id, ok)#
- 参数:
id – int
ok – bool
评估由
id
指向的初始化操作,如果发生错误则将ok
设置为false
,如果没有错误则设置为true
。- 抽象 evaluateToBool(id)#
- 参数:
id – int
- 返回类型:
bool
评估由
id
指向的可执行内容,如果发生错误则将ok
设置为false
,如果没有错误则设置为true
。以布尔值返回评估的结果。- 抽象 evaluateToString(id)#
- 参数:
id – int
- 返回类型:
str
评估由
id
指向的可执行内容,如果发生错误则将ok
设置为false
,如果没有错误则设置为true
。以 QString 形式返回评估的结果。- 抽象 evaluateToVariant(id)#
- 参数:
id – int
- 返回类型:
object
评估由
id
指定的可执行内容,如果出现错误则将ok
设置为false
,如果没有错误则设置为true
。以 QVariant 类型返回评估结果。- 抽象 evaluateToVoid(id, ok)#
- 参数:
id – int
ok – bool
评估由
id
指定的可执行内容,如果出现错误则将ok
设置为false
,如果没有错误则设置为true
。期望执行后没有返回结果。- 抽象 hasScxmlProperty(name)#
- 参数:
name – str
- 返回类型:
bool
如果存在具有给定
name
的属性,则返回true
,否则返回false
。- 抽象 scxmlProperty(name)#
- 参数:
name – str
- 返回类型:
object
返回
name
属性的值。另请参阅
- 抽象 setScxmlEvent(event)#
- 参数:
event –
QScxmlEvent
设置用于后续可执行内容执行的
event
。- 抽象 setScxmlProperty(name, value, context)#
- 参数:
name – str
value – object
context – str
- 返回类型:
bool
为具有
name
名称的属性设置value
值。context
是一个字符串,用于错误消息中指示 SCXML 文件中错误发生的位置。如果成功则返回
true
,如果发生错误则返回false
。另请参阅
- setStateMachine(stateMachine)#
- 参数:
状态机 –
QScxmlStateMachine
将此模型所属的状态机设置为
stateMachine
。状态机与模型之间存在一对一的关系。一旦设置状态机之后,就无法再更改。使用此方法再次尝试设置状态机将被忽略。另请参阅
stateMachine
属性的设置器。- abstract setup(initialDataValues)#
- 参数:
initialDataValues – 一种字典,键为QString类型,值为QVariant类型。
- 返回类型:
bool
使用
initialDataValues
指定的初始值初始化数据模型。如果解析出错或任何初始化步骤失败,则返回
false
。否则返回true
。- stateMachine()#
- 返回类型:
返回与数据模型关联的状态机。
另请参阅
stateMachine
属性的获取器。- stateMachineChanged(stateMachine)#
- 参数:
状态机 –
QScxmlStateMachine
stateMachine
属性的通知信号。