PySide6.QtScxml.QScxmlDataModel¶
- class QScxmlDataModel¶
QScxmlDataModel
类是 Qt SCXML 状态机的数据模型基类。More_…继承自:
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
时,属性可以直接使用,否则通过访问器函数使用。- property stateMachineᅟ: QScxmlStateMachine¶
此属性保存此数据模型所属的状态机。
一个数据模型只能属于一个状态机,而一个状态机只能有一个数据模型。这种关系需要在状态机启动之前建立。在数据模型上设置此属性将自动在
stateMachine
上设置相应的dataModel
属性。- Access functions:
创建一个新的数据模型,父对象为
parent
。- static createScxmlDataModel(pluginKey)¶
- Parameters:
pluginKey – str
- Return type:
从由
pluginKey
指定的插件创建数据模型。- abstract evaluateAssignment(id, ok)¶
- Parameters:
id – int
ok – 布尔值
评估由
id
指向的赋值,如果出现错误,则将ok
设置为false
,如果没有错误,则设置为true
。- abstract evaluateForeach(id, ok, body)¶
- Parameters:
id – int
ok – 布尔值
body –
ForeachLoopBody
评估由
id
指向的foreach循环,并在出现错误时将ok
设置为false
,如果没有错误则设置为true
。每次迭代时都会执行body
。- abstract evaluateInitialization(id, ok)¶
- Parameters:
id – int
ok – 布尔值
评估由
id
指向的初始化,如果出现错误,则将ok
设置为false
;如果没有错误,则设置为true
。- abstract evaluateToBool(id)¶
- Parameters:
id – int
- Return type:
布尔
评估由
id
指向的可执行内容,并在出现错误时将ok
设置为false
,如果没有错误则设置为true
。返回评估结果作为布尔值。- abstract evaluateToString(id)¶
- Parameters:
id – int
- Return type:
字符串
评估由
id
指向的可执行内容,并在出现错误时将ok
设置为false
,如果没有错误则设置为true
。返回评估结果作为QString。- abstract evaluateToVariant(id)¶
- Parameters:
id – int
- Return type:
对象
评估由
id
指向的可执行内容,并在出现错误时将ok
设置为false
,如果没有错误则设置为true
。将评估结果作为QVariant返回。- abstract evaluateToVoid(id, ok)¶
- Parameters:
id – int
ok – 布尔值
评估由
id
指向的可执行内容,并在出现错误时将ok
设置为false
,如果没有错误则设置为true
。预计执行不会返回任何结果。- abstract hasScxmlProperty(name)¶
- Parameters:
name – str
- Return type:
布尔
如果存在具有给定
name
的属性,则返回true
,否则返回false
。- abstract scxmlProperty(name)¶
- Parameters:
name – str
- Return type:
对象
返回属性
name
的值。另请参阅
- abstract setScxmlEvent(event)¶
- Parameters:
事件 –
QScxmlEvent
设置
event
以用于后续可执行内容的执行。- abstract setScxmlProperty(name, value, context)¶
- Parameters:
name – str
value – 对象
context – str
- Return type:
布尔
为属性
name
设置值value
。context
是一个字符串,用于在错误消息中指示 SCXML 文件中发生错误的位置。如果成功则返回
true
,如果发生错误则返回false
。另请参阅
- setStateMachine(stateMachine)¶
- Parameters:
stateMachine –
QScxmlStateMachine
将此模型所属的状态机设置为
stateMachine
。状态机和模型之间存在1:1的关系。一旦设置了状态机,就不能再更改它。任何进一步尝试使用此方法设置状态机的操作都将被忽略。另请参阅
属性
stateMachineᅟ
的设置器。- abstract setup(initialDataValues)¶
- Parameters:
initialDataValues – 字典,键类型为 .QString,值类型为 QVariant。
- Return type:
布尔
使用
initialDataValues
指定的初始值初始化数据模型。如果发生解析错误或任何初始化步骤失败,则返回
false
。否则返回true
。- stateMachine()¶
- Return type:
返回与数据模型关联的状态机。
另请参阅
属性
stateMachineᅟ
的获取器。- stateMachineChanged(stateMachine)¶
- Parameters:
stateMachine –
QScxmlStateMachine
属性
stateMachineᅟ
的通知信号。- class ForeachLoopBody¶
ForeachLoopBody
类表示在 SCXML foreach 循环的每次迭代中要执行的函数。More_…概要¶
方法¶
def
__init__()
虚拟方法¶
def
run()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
- __init__()¶
创建一个新的foreach循环体。
- abstract run(ok)¶
- Parameters:
ok – 布尔值
此函数在每次迭代时执行。如果执行失败,
ok
被设置为false
,否则设置为true
。