QScxmlDataModel#
The QScxmlDataModel
class is the data model base class for a Qt SCXML state machine. More…
Inherited by: QScxmlNullDataModel, QScxmlCppDataModel
Synopsis#
Properties#
stateMachine
- State machine this data model belongs to
Functions#
def
setStateMachine
(stateMachine)def
stateMachine
()
Virtual functions#
def
evaluateAssignment
(id, ok)def
evaluateForeach
(id, ok, body)def
evaluateInitialization
(id, ok)def
evaluateToBool
(id)def
evaluateToString
(id)def
evaluateToVariant
(id)def
evaluateToVoid
(id, ok)def
hasScxmlProperty
(name)def
scxmlProperty
(name)def
setScxmlEvent
(event)def
setScxmlProperty
(name, value, context)def
setup
(initialDataValues)
Signals#
def
stateMachineChanged
(stateMachine)
Static functions#
def
createScxmlDataModel
(pluginKey)
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
Detailed Description#
SCXML data models are described in SCXML Specification - 5 Data Model and Data Manipulation . For more information about supported data models, see SCXML Compliance .
One data model can only belong to one state machine.
- class PySide6.QtScxml.QScxmlDataModel([parent=None])#
- Parameters:
parent –
PySide6.QtCore.QObject
Creates a new data model, with the parent object parent
.
Note
Properties can be used directly when from __feature__ import true_property
is used or via accessor functions otherwise.
- property PᅟySide6.QtScxml.QScxmlDataModel.stateMachine: PySide6.QtScxml.QScxmlStateMachine#
This property holds The state machine this data model belongs to..
A data model can only belong to a single state machine and a state machine can only have one data model. This relation needs to be set up before the state machine is started. Setting this property on a data model will automatically set the corresponding dataModel
property on the stateMachine
.
- Access functions:
stateMachine
()setStateMachine
(stateMachine)Signal
stateMachineChanged
(stateMachine)
- static PySide6.QtScxml.QScxmlDataModel.createScxmlDataModel(pluginKey)#
- Parameters:
pluginKey – str
- Return type:
Creates a data model from a plugin specified by a pluginKey
.
- abstract PySide6.QtScxml.QScxmlDataModel.evaluateAssignment(id, ok)#
- Parameters:
id – int
ok – bool
Evaluates the assignment pointed to by id
and sets ok
to false
if there was an error or to true
if there was not.
- abstract PySide6.QtScxml.QScxmlDataModel.evaluateForeach(id, ok, body)#
- Parameters:
id – int
ok – bool
Evaluates the foreach loop pointed to by id
and sets ok
to false
if there was an error or to true
if there was not. The body
is executed on each iteration.
- abstract PySide6.QtScxml.QScxmlDataModel.evaluateInitialization(id, ok)#
- Parameters:
id – int
ok – bool
Evaluates the initialization pointed to by id
and sets ok
to false
if there was an error or to true
if there was not.
- abstract PySide6.QtScxml.QScxmlDataModel.evaluateToBool(id)#
- Parameters:
id – int
- Return type:
bool
Evaluates the executable content pointed to by id
and sets ok
to false
if there was an error or to true
if there was not. Returns the result of the evaluation as a boolean value.
- abstract PySide6.QtScxml.QScxmlDataModel.evaluateToString(id)#
- Parameters:
id – int
- Return type:
str
Evaluates the executable content pointed to by id
and sets ok
to false
if there was an error or to true
if there was not. Returns the result of the evaluation as a QString.
- abstract PySide6.QtScxml.QScxmlDataModel.evaluateToVariant(id)#
- Parameters:
id – int
- Return type:
object
Evaluates the executable content pointed to by id
and sets ok
to false
if there was an error or to true
if there was not. Returns the result of the evaluation as a QVariant.
- abstract PySide6.QtScxml.QScxmlDataModel.evaluateToVoid(id, ok)#
- Parameters:
id – int
ok – bool
Evaluates the executable content pointed to by id
and sets ok
to false
if there was an error or to true
if there was not. The execution is expected to return no result.
- abstract PySide6.QtScxml.QScxmlDataModel.hasScxmlProperty(name)#
- Parameters:
name – str
- Return type:
bool
Returns true
if a property with the given name
exists, false
otherwise.
- abstract PySide6.QtScxml.QScxmlDataModel.scxmlProperty(name)#
- Parameters:
name – str
- Return type:
object
Returns the value of the property name
.
See also
- abstract PySide6.QtScxml.QScxmlDataModel.setScxmlEvent(event)#
- Parameters:
event –
PySide6.QtScxml.QScxmlEvent
Sets the event
to use in the subsequent executable content execution.
- abstract PySide6.QtScxml.QScxmlDataModel.setScxmlProperty(name, value, context)#
- Parameters:
name – str
value – object
context – str
- Return type:
bool
Sets a the value value
for the property name
.
The context
is a string that is used in error messages to indicate the location in the SCXML file where the error occurred.
Returns true
if successful or false
if an error occurred.
See also
- PySide6.QtScxml.QScxmlDataModel.setStateMachine(stateMachine)#
- Parameters:
stateMachine –
PySide6.QtScxml.QScxmlStateMachine
Sets the state machine this model belongs to to stateMachine
. There is a 1:1 relation between state machines and models. After setting the state machine once you cannot change it anymore. Any further attempts to set the state machine using this method will be ignored.
See also
Setter of property stateMachine
.
- abstract PySide6.QtScxml.QScxmlDataModel.setup(initialDataValues)#
- Parameters:
initialDataValues – Dictionary with keys of type .QString and values of type QVariant.
- Return type:
bool
Initializes the data model with the initial values specified by initialDataValues
.
Returns false
if parse errors occur or if any of the initialization steps fail. Returns true
otherwise.
- PySide6.QtScxml.QScxmlDataModel.stateMachine()#
- Return type:
Returns the state machine associated with the data model.
See also
Getter of property stateMachine
.
- PySide6.QtScxml.QScxmlDataModel.stateMachineChanged(stateMachine)#
- Parameters:
stateMachine –
PySide6.QtScxml.QScxmlStateMachine
Notification signal of property stateMachine
.