ActionGroup QML Type | Qt Quick Controls | Qt 6.11.1
Description: Groups actions together.

- Qt 6.11
- Qt Quick Controls
- QML Types
- ActionGroup
- Qt 6.11.1 Reference Documentation

# ActionGroup QML Type

Groups actions together. More...

Import Statement: | `import QtQuick.Controls`
Inherits: | QtObject

- List of all members, including inherited members

## Properties

- actions : list<Action>
- checkedAction : Action
- enabled : bool
- exclusive : bool

## Attached Properties

- group : ActionGroup

## Signals

- triggered(Action action)

## Methods

- void addAction(Action action)
- void removeAction(Action action)

## Detailed Description

ActionGroup is a non-visual group of actions. A mutually exclusive action group is used with actions where only one of the options can be selected at a time.

The most straight-forward way to use ActionGroup is to declare actions as children of the group.

     ActionGroup {
         id: alignmentGroup

         Action {
             checked: true
             checkable: true
             text: qsTr("Left")
         }

         Action {
             checkable: true
             text: qsTr("Center")
         }

         Action {
             checkable: true
             text: qsTr("Right")
         }
     }

Alternatively, the group attached property allows declaring the actions elsewhere and assigning them to a specific group.

     ActionGroup { id: alignmentGroup }

     Action {
         checked: true
         checkable: true
         text: qsTr("Left")
         ActionGroup.group: alignmentGroup
     }

     Action {
         checkable: true
         text: qsTr("Center")
         ActionGroup.group: alignmentGroup
     }

     Action {
         checkable: true
         text: qsTr("Right")
         ActionGroup.group: alignmentGroup
     }

More advanced use cases can be handled using the `addAction()` and `removeAction()` methods.

See also Action and ButtonGroup.

## Property Documentation

### actions : list<Action> `[default]`

This property holds the list of actions in the group.

See also group.

### checkedAction : Action

This property holds the currently selected action in an exclusive group, or `null` if there is none or the group is non-exclusive.

By default, it is the first checked action added to an exclusive action group.

See also exclusive.

### enabled : bool

This property holds whether the action group is enabled. The default value is `true`.

If this property is `false`, then all actions in the group are disabled. If this property is `true`, all actions in the group are enabled, unless explicitly disabled.

### exclusive : bool

This property holds whether the action group is exclusive. The default value is `true`.

If this property is `true`, then only one action in the group can be checked at any given time. The user can trigger any action to check it, and that action will replace the existing one as the checked action in the group.

In an exclusive group, the user cannot uncheck the currently checked action by triggering it; instead, another action in the group must be triggered to set the new checked action for that group.

In a non-exclusive group, checking and unchecking actions does not affect the other actions in the group. Furthermore, the value of the checkedAction property is `null`.

## Attached Property Documentation

### ActionGroup.group : ActionGroup

This property attaches an action to an action group.

     ActionGroup { id: group }

     Action {
         checked: true
         text: qsTr("Option A")
         ActionGroup.group: group
     }

     Action {
         text: qsTr("Option B")
         ActionGroup.group: group
     }

See also actions.

## Signal Documentation

### triggered(Action action)

This signal is emitted when an action in the group has been triggered.

This signal is convenient for implementing a common signal handler for all actions in the same group.

     ActionGroup {
         onTriggered: console.log("triggered:", action.text)

         Action { text: "First" }
         Action { text: "Second" }
         Action { text: "Third" }
     }

Note: The corresponding handler is `onTriggered`.

See also Action::triggered().

## Method Documentation

### void addAction(Action action)

Adds an action to the action group.

Note: Manually adding objects to a action group is typically unnecessary. The actions property and the group attached property provide a convenient and declarative syntax.

See also actions and group.

### void removeAction(Action action)

Removes an action from the action group.

Note: Manually removing objects from a action group is typically unnecessary. The actions property and the group attached property provide a convenient and declarative syntax.

See also actions and group.