Qt SCXML Invoke Example (Dynamic)

Invokes a dynamically loaded nested state machine.

../_images/invoke-dynamic.png

Invoke Example (Dynamic) demonstrates how to use the <invoke> element with generated nested state-machines, where the SCXML file is dynamically loaded. The <invoke> element is used to create an instance of an external service.

Running the Example

To run the example from Qt Creator , open the Welcome mode and select the example from Examples. For more information, visit Building and Running an Example.

Invoking the State Machine

In statemachine.scxml, we specify a state machine with the name Directions of type http://www.w3.org/TR/scxml/ to invoke:

Dynamically Loading the State Machine

We link against the Qt SCXML module by adding the following line to the project build files.

With qmake to the invoke-dynamic.pro

With cmake to the CMakeLists.txt

We dynamically create the state machine, as follows:

Example project @ code.qt.io