blob: 0182dd7cb414adbcfe1df5bd422c780519701c04 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\example trafficlight-qml-dynamic
\title Qt SCXML Traffic Light QML Example (Dynamic)
\ingroup examples-qtscxml
\brief A Qt Quick application that uses a dynamically loaded state machine
to implement a traffic light.
\image trafficlight.png
\e{Traffic Light QML Example (Dynamic)} demonstrates how to connect to the
active properties of a state in a dynamically loaded state machine.
The UI is created using Qt Quick.
\include examples-run.qdocinc
\section1 Dynamically Loading the State Machine
We link against the Qt SCXML module by adding the following lines to the
example's build files.
To \e .pro when using qmake:
\quotefromfile trafficlight-qml-dynamic/trafficlight-qml-dynamic.pro
\skipto QT
\printline scxml
To \e CMakeLists.txt when using cmake:
\quotefromfile trafficlight-qml-dynamic/CMakeLists.txt
\skipto find_package
\printline Scxml
\skipto target_link_libraries
\printuntil )
We dynamically create the state machine in the main QML file:
\quotefromfile trafficlight-qml-dynamic/trafficlight-qml-dynamic.qml
\skipto import QtScxml
\printuntil /^\}/
\include trafficlight-state-machine.qdocinc
We connect to the states as follows:
\quotefromfile trafficlight-common/Lights.ui.qml
\skipto states
\printuntil ]
*/
|