- Qt 5.15
- Qt Quick Controls 1
- QML Types
- Action QML Type
- Qt 5.15.19 Reference Documentation

# Action QML Type

Action provides an abstract user interface action that can be bound to items. More...

Import Statement: | import QtQuick.Controls 1.4

- List of all members, including inherited members

## Properties

- checkable : bool
- checked : bool
- enabled : bool
- exclusiveGroup : ExclusiveGroup
- iconName : string
- iconSource : url
- shortcut : keysequence
- text : string
- tooltip : string

## Signals

- toggled(checked)
- triggered(QtObject source)

## Methods

- void trigger(QtObject source)

## Detailed Description

In applications many common commands can be invoked via menus, toolbar buttons, and keyboard shortcuts. Since the user expects each command to be performed in the same way, regardless of the user interface used, it is useful to represent each command as an action.

An action can be bound to a menu item and a toolbar button, and it will automatically keep them in sync. For example, in a word processor, if the user presses a Bold toolbar button, the Bold menu item will automatically be checked.

QtQuick Controls supports actions in Button, ToolButton, and MenuItem.

         ...
         Action {
             id: copyAction
             text: "&Copy"
             shortcut: StandardKey.Copy
             iconName: "edit-copy"
             enabled: (!!activeFocusItem && !!activeFocusItem["copy"])
             onTriggered: activeFocusItem.copy()
         }

         Action {
             id: cutAction
             text: "Cu&t"
             shortcut: StandardKey.Cut
             iconName: "edit-cut"
             enabled: (!!activeFocusItem && !!activeFocusItem["cut"])
             onTriggered: activeFocusItem.cut()
         }

         Action {
             id: pasteAction
             text: "&Paste"
             shortcut: StandardKey.Paste
             iconName: "edit-paste"
             enabled: (!!activeFocusItem && !!activeFocusItem["paste"])
             onTriggered: activeFocusItem.paste()
         }

         toolBar: ToolBar {
             RowLayout {
                 anchors.fill: parent
                 anchors.margins: spacing
                 Label {
                     text: UI.label
                 }
                 Item { Layout.fillWidth: true }
                 CheckBox {
                     id: enabler
                     text: "Enabled"
                     checked: true
                 }
             }
         }

         menuBar: MenuBar {
             Menu {
                 title: "&File"
                 MenuItem {
                     text: "E&xit"
                     shortcut: StandardKey.Quit
                     onTriggered: Qt.quit()
                 }
             }
             Menu {
                 title: "&Edit"
                 visible: tabView.currentIndex == 2
                 MenuItem { action: cutAction }
                 MenuItem { action: copyAction }
                 MenuItem { action: pasteAction }
             }
             Menu {
                 title: "&Help"
                 MenuItem {
                     text: "About..."
                     onTriggered: aboutDialog.open()
                 }
             }
         }
         ...

## Property Documentation

checkable : bool

Whether the menu item can be checked, or toggled. Defaults to `false`.

See also checked and exclusiveGroup.

checked : bool

If the action is checkable, this property reflects its checked state. Defaults to `false`. Its value is also false while checkable is false.

See also toggled and exclusiveGroup.

enabled : bool

Whether the action is enabled, and can be triggered. Defaults to `true`.

See also trigger() and triggered.

exclusiveGroup : ExclusiveGroup

If an action is checkable, an ExclusiveGroup can be attached to it. All the actions sharing the same exclusive group become mutually exclusive selectable, meaning that only the last checked action will actually be checked.

Defaults to `null`, meaning no exclusive behavior is to be expected.

See also checkable and checked.

iconName : string

Sets the icon name for the action. This will pick the icon with the given name from the current theme.

Defaults to an empty string.

Note: This property requires QApplication.

iconSource : url

Sets the icon file or resource url for the action. Defaults to an empty URL.

shortcut : keysequence

Shortcut bound to the action. The keysequence can be a string or a standard key.

Defaults to an empty string.

     Action {
         id: copyAction
         text: qsTr("&Copy")
         shortcut: StandardKey.Copy
     }

text : string

Text for the action. This text will show as the button text, or as title in a menu item.

Mnemonics are supported by prefixing the shortcut letter with &. For instance, `"\&Open"` will bind the `Alt-O` shortcut to the `"Open"` menu item. Note that not all platforms support mnemonics.

Defaults to an empty string.

tooltip : string

Tooltip to be shown when hovering the control bound to this action. Not all controls support tooltips on all platforms, especially MenuItem.

Defaults to an empty string.

## Signal Documentation

toggled(checked)

Emitted whenever an action's checked property changes. This usually happens at the same time as triggered.

The corresponding handler is `onToggled`.

Note: The corresponding handler is `onToggled`.

See also checked.

triggered(QtObject source)

Emitted when either the menu item or its bound action have been activated. Includes the object (source) that triggered the event if relevant (e.g. a Button or MenuItem). You shouldn't need to emit this signal, use trigger() instead.

The corresponding handler is `onTriggered`.

Note: The corresponding handler is `onTriggered`.

## Method Documentation

void trigger(QtObject source)

Will emit the triggered signal on source if the action is enabled. You may provide a source object if the Action would benefit from knowing the origin of the triggering (e.g. for analytics). Will also emit the toggled signal if it is checkable.