MenuItemGroup QML Type

A group for managing native menu items. More...

Import Statement: import Qt.labs.platform 1.1
Since: Qt 5.8
Inherits:

QtObject

Properties

Signals

Methods

Detailed Description

The MenuItemGroup groups native menu items together.

MenuItemGroup is exclusive by default. In an exclusive menu item group, only one item can be checked at any time; checking another item automatically unchecks the previously checked one. MenuItemGroup can be configured as non-exclusive, which is particularly useful for showing, hiding, enabling and disabling items together as a group.

The most straight-forward way to use MenuItemGroup is to assign a list of items.

Menu {
    id: verticalMenu
    title: qsTr("Vertical")

    MenuItemGroup {
        id: verticalGroup
        items: verticalMenu.items
    }

    MenuItem { text: qsTr("Top"); checkable: true }
    MenuItem { text: qsTr("Center"); checked: true }
    MenuItem { text: qsTr("Bottom"); checkable: true }
}

The same menu may sometimes contain items that should not be included in the same exclusive group. Such cases are best handled using the group property.

Menu {
    id: horizontalMenu
    title: qsTr("Horizontal")

    MenuItemGroup {
        id: horizontalGroup
    }

    MenuItem {
        checked: true
        text: qsTr("Left")
        group: horizontalGroup
    }
    MenuItem {
        checkable: true
        text: qsTr("Center")
        group: horizontalGroup
    }
    MenuItem {
        text: qsTr("Right")
        checkable: true
        group: horizontalGroup
    }

    MenuItem { separator: true }
    MenuItem { text: qsTr("Justify"); checkable: true }
    MenuItem { text: qsTr("Absolute"); checkable: true }
}

More advanced use cases can be handled using the addItem() and removeItem() methods.

Note: Types in Qt.labs modules are not guaranteed to remain compatible in future versions.

See also MenuItem.

Property Documentation

checkedItem : MenuItem

This property holds the currently checked item in the group, or null if no item is checked.

enabled : bool

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

The enabled state of the group affects the enabled state of each item in the group, except that explicitly disabled items are not enabled even if the group is enabled.

exclusive : bool

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

In an exclusive menu item group, only one item can be checked at any time; checking another item automatically unchecks the previously checked one.

items : list<MenuItem>

This property holds the list of items in the group.

visible : bool

This property holds whether the group is visible. The default value is true.

The visibility of the group affects the visibility of each item in the group, except that explicitly hidden items are not visible even if the group is visible.

Signal Documentation

hovered(MenuItem item)

This signal is emitted when an item in the group is hovered by the user.

Note: The corresponding handler is onHovered.

See also MenuItem::hovered().

triggered(MenuItem item)

This signal is emitted when an item in the group is triggered by the user.

Note: The corresponding handler is onTriggered.

See also MenuItem::triggered().

Method Documentation

void addItem(MenuItem item)

Adds an item to the group.

void clear()

Removes all items from the group.

void removeItem(MenuItem item)

Removes an item from the group.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qml-qt-labs-platform-menuitemgroup.html