QScxmlStateMachineclass provides an interface to the state machines created from SCXML files. 更多 …
def
activeStateNames
([compress=true])
def
cancelDelayedEvent
(sendId)
def
connectToEvent
(scxmlEventSpec, receiver, method[, type=Qt.AutoConnection])
def
connectToState
(scxmlStateName, receiver, method[, type=Qt.AutoConnection])
def
dataModel
()
def
initialValues
()
def
invokedServices
()
def
isActive
(scxmlStateName)
def
isActive
(stateIndex)
def
isDispatchableTarget
(target)
def
isInitialized
()
def
isInvoked
()
def
isRunning
()
def
loader
()
def
name
()
def
parseErrors
()
def
sessionId
()
def
setDataModel
(model)
def
setInitialValues
(initialValues)
def
setLoader
(loader)
def
setRunning
(running)
def
setTableData
(tableData)
def
stateNames
([compress=true])
def
submitEvent
(event)
def
submitEvent
(eventName)
def
submitEvent
(eventName, data)
def
tableData
()
def
dataModelChanged
(model)
def
finished
()
def
initialValuesChanged
(initialValues)
def
initializedChanged
(initialized)
def
invokedServicesChanged
(invokedServices)
def
loaderChanged
(loader)
def
log
(label, msg)
def
reachedStableState
()
def
runningChanged
(running)
def
tableDataChanged
(tableData)
QScxmlStateMachineis an implementation of the SCXML (状态图表 XML) .All states that are defined in the SCXML file are accessible as properties of
QScxmlStateMachine. These properties are boolean values and indicate whether the state is active or inactive.注意
QScxmlStateMachineneeds aQEventLoopto work correctly. The event loop is used to implement thedelayattribute for events and to schedule the processing of a state machine when events are received from nested (or parent) state machines.
QScxmlStateMachine
(
metaObject
[
,
parent=None
]
)
¶
parent
–
QObject
metaObject
–
QMetaObject
PySide2.QtScxml.QScxmlStateMachine.
activeStateNames
(
[
compress=true
]
)
¶
compress
–
bool
字符串列表
Retrieves a list of state names of all active states.
When a state is active, all its parent states are active by definition. When
compress
is
true
(the default), the parent states will be filtered out and only the
leaf states
will be returned. When it is
false
, the full list of active states will be returned.
PySide2.QtScxml.QScxmlStateMachine.
cancelDelayedEvent
(
sendId
)
¶
sendId – unicode
Cancels a delayed event with the specified
sendId
.
PySide2.QtScxml.QScxmlStateMachine.
connectToEvent
(
scxmlEventSpec
,
receiver
,
方法
[
,
type=Qt.AutoConnection
]
)
¶
scxmlEventSpec – unicode
receiver
–
QObject
方法 – str
type
–
ConnectionType
Connection
PySide2.QtScxml.QScxmlStateMachine.
connectToState
(
scxmlStateName
,
receiver
,
方法
[
,
type=Qt.AutoConnection
]
)
¶
scxmlStateName – unicode
receiver
–
QObject
方法 – str
type
–
ConnectionType
Connection
PySide2.QtScxml.QScxmlStateMachine.
dataModel
(
)
¶
Returns the data model used by the state machine.
另请参阅
PySide2.QtScxml.QScxmlStateMachine.
dataModelChanged
(
model
)
¶
model
–
QScxmlDataModel
PySide2.QtScxml.QScxmlStateMachine.
finished
(
)
¶
PySide2.QtScxml.QScxmlStateMachine.
fromData
(
data
[
,
fileName=""
]
)
¶
data
–
QIODevice
fileName – unicode
Creates a state machine by reading from the
QIODevice
指定通过
data
.
This method will always return a state machine. If errors occur while reading the SCXML file,
fileName
, the state machine cannot be started. The errors can be retrieved by calling the
parseErrors()
方法。
另请参阅
PySide2.QtScxml.QScxmlStateMachine.
fromFile
(
fileName
)
¶
fileName – unicode
Creates a state machine from the SCXML file specified by
fileName
.
This method will always return a state machine. If errors occur while reading the SCXML file, the state machine cannot be started. The errors can be retrieved by calling the
parseErrors()
方法。
另请参阅
PySide2.QtScxml.QScxmlStateMachine.
init
(
)
¶
bool
Initializes the state machine.
State machine initialization consists of calling
setup()
, setting the initial values for
<data>
elements, and executing any
<script>
tags of the
<scxml>
tag. The initial data values are taken from the
initialValues
特性。
返回
false
if parse errors occur or if any of the initialization steps fail. Returns
true
否则。
PySide2.QtScxml.QScxmlStateMachine.
initialValues
(
)
¶
另请参阅
PySide2.QtScxml.QScxmlStateMachine.
initialValuesChanged
(
initialValues
)
¶
initialValues –
PySide2.QtScxml.QScxmlStateMachine.
initializedChanged
(
initialized
)
¶
initialized
–
bool
PySide2.QtScxml.QScxmlStateMachine.
invokedServices
(
)
¶
PySide2.QtScxml.QScxmlStateMachine.
invokedServicesChanged
(
invokedServices
)
¶
invokedServices –
PySide2.QtScxml.QScxmlStateMachine.
isActive
(
scxmlStateName
)
¶
scxmlStateName – unicode
bool
PySide2.QtScxml.QScxmlStateMachine.
isActive
(
stateIndex
)
¶
stateIndex
–
int
bool
返回
true
if the state with the ID
stateIndex
is active.
This method is part of the interface to the compiled representation of SCXML state machines. It should only be used internally and by state machines compiled from SCXML documents.
PySide2.QtScxml.QScxmlStateMachine.
isDispatchableTarget
(
target
)
¶
target – unicode
bool
返回
true
if a message to
target
can be dispatched by this state machine.
Valid targets are:
#_parent
for the parent state machine if the current state machine is started by
<invoke>
#_internal
for the current state machine
#_scxml_sessionid
,其中
sessionid
is the session ID of the current state machine
#_servicename
,其中
servicename
is the ID or name of a service started with
<invoke>
by this state machine
PySide2.QtScxml.QScxmlStateMachine.
isInitialized
(
)
¶
bool
PySide2.QtScxml.QScxmlStateMachine.
isInvoked
(
)
¶
bool
PySide2.QtScxml.QScxmlStateMachine.
isRunning
(
)
¶
bool
返回
true
if the state machine is running,
false
否则。
PySide2.QtScxml.QScxmlStateMachine.
loader
(
)
¶
Loader
另请参阅
PySide2.QtScxml.QScxmlStateMachine.
loaderChanged
(
loader
)
¶
loader
–
Loader
PySide2.QtScxml.QScxmlStateMachine.
log
(
label
,
msg
)
¶
label – unicode
msg – unicode
PySide2.QtScxml.QScxmlStateMachine.
name
(
)
¶
unicode
PySide2.QtScxml.QScxmlStateMachine.
parseErrors
(
)
¶
PySide2.QtScxml.QScxmlStateMachine.
reachedStableState
(
)
¶
PySide2.QtScxml.QScxmlStateMachine.
runningChanged
(
running
)
¶
running
–
bool
PySide2.QtScxml.QScxmlStateMachine.
sessionId
(
)
¶
unicode
PySide2.QtScxml.QScxmlStateMachine.
setDataModel
(
model
)
¶
model
–
QScxmlDataModel
Sets the data model for this state machine to
model
. There is a 1:1 relation between state machines and models. After setting the model once you cannot change it anymore. Any further attempts to set the model using this method will be ignored.
另请参阅
PySide2.QtScxml.QScxmlStateMachine.
setInitialValues
(
initialValues
)
¶
initialValues –
另请参阅
PySide2.QtScxml.QScxmlStateMachine.
setRunning
(
running
)
¶
running
–
bool
Starts the state machine if
running
is
true
, or stops it otherwise.
PySide2.QtScxml.QScxmlStateMachine.
setTableData
(
tableData
)
¶
tableData
–
QScxmlTableData
另请参阅
PySide2.QtScxml.QScxmlStateMachine.
start
(
)
¶
Starts this state machine. The machine will reset its configuration and transition to the initial state. When a final top-level state is entered, the machine will emit the
finished()
信号。
注意
A state machine will not run without a running event loop, such as the main application event loop started with
exec()
or
exec()
.
PySide2.QtScxml.QScxmlStateMachine.
stateNames
(
[
compress=true
]
)
¶
compress
–
bool
字符串列表
Retrieves a list of state names of all states.
当
compress
is
true
(the default), the states that contain child states will be filtered out and only the
leaf states
will be returned. When it is
false
, the full list of all states will be returned.
The returned list does not contain the states of possible nested state machines.
注意
The order of the state names in the list is the order in which the states occurred in the SCXML document.
PySide2.QtScxml.QScxmlStateMachine.
stop
(
)
¶
Stops this state machine. The machine will not execute any further state transitions. Its
running
property is set to
false
.
PySide2.QtScxml.QScxmlStateMachine.
submitEvent
(
event
)
¶
event
–
QScxmlEvent
Submits the SCXML event
event
to the internal or external event queue depending on the priority of the event.
When a delay is set, the event will be queued for delivery after the timeout has passed. The state machine takes ownership of
event
and deletes it after processing.
PySide2.QtScxml.QScxmlStateMachine.
submitEvent
(
eventName
)
¶
eventName – unicode
PySide2.QtScxml.QScxmlStateMachine.
submitEvent
(
eventName
,
data
)
¶
eventName – unicode
data – object
A utility method to create and submit an external event with the specified
eventName
as the name and
data
as the payload data.
PySide2.QtScxml.QScxmlStateMachine.
tableData
(
)
¶
另请参阅
PySide2.QtScxml.QScxmlStateMachine.
tableDataChanged
(
tableData
)
¶
tableData
–
QScxmlTableData