MenuItemGroup QML 类型

用于管理本地菜单项的组。 更多...

导入语句import Qt.labs.platform
继承

QtObject

属性

信号

方法

详细说明

MenuItemGroup 将本地菜单项组合在一起。

MenuItemGroup 默认是独占的。在独占菜单项组中,任何时候只能选择一个项目;选择另一个项目会自动取消选择之前的项目。MenuItemGroup 可以配置为非独占,这对于一起显示、隐藏、启用和禁用项目非常有用。

使用 MenuItemGroup 最直接的方法是将项目列表分配给它。

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 }
}

有时同一菜单中可能包含不应包含在相同独占组中的项目。此类情况最好使用 group 属性处理。

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 }
}

更高级的使用案例可以使用 addItem() 和 removeItem() 方法处理。

注意:Qt.labs 模块中的类型不保证在未来的版本中保持兼容。

另请参阅:MenuItem

属性文档

checkedItem : MenuItem

此属性保留组中当前选中的项目,如果没有选中项目则返回 null


enabled : bool

此属性保留组是否启用。默认值为 true

组的启用状态会影响组中每个项目的启用状态,但是即使组启用,显式禁用的项目也不会启用。


exclusive : bool

此属性表示该组是否为独占属性。默认值是 true

在独占菜单项组中,任何时候只能选中一个项;选中其他项将自动取消选中之前选中的项。


items : list<MenuItem>

此属性表示组中的项列表。


visible : bool

此属性表示组是否可见。默认值是 true

组的可见性会影响组内每个项的可见性,但是明确隐藏的项即使在组可见的情况下也不会可见。


信号文档

hovered(MenuItem item)

当用户悬停在组中的某个item上时,会发出此信号。

注意:相应的处理程序是 onHovered

另请参阅:MenuItem::hovered()。


triggered(MenuItem item)

当组中的某个item被用户触发时,会发出此信号。

注意:相应的处理程序是 onTriggered

另请参阅:MenuItem::triggered()。


方法文档

void addItem(MenuItem item)

向组中添加一个item


void clear()

从组中移除所有项。


void removeItem(MenuItem item)

从组中移除一个item


© 2024 Qt公司。此文档贡献的版权属于其各自的所有者。此处提供的文档根据自由软件基金会发布的GNU自由文档许可协议版本1.3的条款获得许可。Qt及其相关标志是芬兰以及/或全球其他地区的Qt公司的商标。所有其他商标均为其各自所有者的财产。