Qt Reference Documentation

# QML StateGroup Element

The StateGroup element provides state support for non-Item elements. More...

This element was introduced in Qt 4.7.

- List of all members, including inherited members

## Properties

- state : string
- states : list<State>
- transitions : list<Transition>

## Detailed Description

Item (and all derived elements) provides built in support for states and transitions via its state, states and transitions properties. StateGroup provides an easy way to use this support in other (non-Item-derived) elements.

     MyCustomObject {
         StateGroup {
             id: myStateGroup
             states: State {
                 name: "state1"
                 // ...
             }
             transitions: Transition {
                 // ...
             }
         }

         onSomethingHappened: myStateGroup.state = "state1";
     }

See also States, Transitions, and QtDeclarative.

## Property Documentation

state : string

This property holds the name of the current state of the state group.

This property is often used in scripts to change between states. For example:

     function toggle() {
         if (button.state == 'On')
             button.state = 'Off';
         else
             button.state = 'On';
     }

If the state group is in its base state (i.e. no explicit state has been set), `state` will be a blank string. Likewise, you can return a state group to its base state by setting its current state to `''`.

See also States.

read-only states : list<State>

This property holds a list of states defined by the state group.

     StateGroup {
         states: [
             State {
                 // State definition...
             },
             State {
                 // ...
             }
             // Other states...
         ]
     }

See also States.

read-only transitions : list<Transition>

This property holds a list of transitions defined by the state group.

     StateGroup {
         transitions: [
             Transition {
               // ...
             },
             Transition {
               // ...
             }
             // ...
         ]
     }

See also Transitions.