State QML Type

Provides a general-purpose state for StateMachine. More...

Import Statement: import QtQml.StateMachine 6.4
Since: Qt 5.4
Inherits:

QAbstractState

Inherited By:

StateMachine

Properties

Signals

Detailed Description

State objects can have child states as well as transitions to other states. State is part of Qt State Machine QML API

States with Child States

The childMode property determines how child states are treated. For non-parallel state groups, the initialState property must be used to set the initial state. The child states are mutually exclusive states, and the state machine needs to know which child state to enter when the parent state is the target of a transition.

The state emits the State::finished() signal when a final child state (FinalState) is entered.

The errorState sets the state's error state. The error state is the state that the state machine will transition to if an error is detected when attempting to enter the state (e.g. because no initial state has been set).

Example Usage

 import QtQuick
 import QtQml.StateMachine as DSM

 Rectangle {
     DSM.StateMachine {
         id: stateMachine
         initialState: state
         running: true
         DSM.State {
             id: state
         }
     }
 }

See also StateMachine and FinalState.

Property Documentation

childMode : enumeration

The child mode of this state

The default value of this property is QState.ExclusiveStates.

This enum specifies how a state's child states are treated:

  • QState.ExclusiveStates The child states are mutually exclusive and an initial state must be set by setting initialState property.
  • QState.ParallelStates The child states are parallel. When the parent state is entered, all its child states are entered in parallel.

errorState : QAbstractState

The error state of this state.


initialState : QAbstractState

The initial state of this state (one of its child states).


Signal Documentation

finished()

This signal is emitted when a final child state of this state is entered.

Note: The corresponding handler is onFinished.

See also QAbstractState::active, QAbstractState::entered, and QAbstractState::exited.