MenuItem QML Type
本地菜单项。更多
| Import Statement: | import Qt.labs.platform |
| Inherits: | |
| Inherited By: |
属性
- checkable : bool
- checked : bool
- enabled : bool
- font : font
- group : MenuItemGroup
- icon
(since Qt.labs.platform 1.1 (Qt 5.12))- icon.mask : bool
(since Qt.labs.platform 1.1 (Qt 5.12)) - icon.name : string
(since Qt.labs.platform 1.1 (Qt 5.12)) - icon.source : url
(since Qt.labs.platform 1.1 (Qt 5.12))
- icon.mask : bool
- menu : Menu
- role : enumeration
- separator : bool
- shortcut : keysequence
- subMenu : Menu
- text : string
- visible : bool
信号
方法
- void toggle()
详细说明
MenuItem 类型为本地平台菜单项提供了 QML API。

Menu { id: zoomMenu MenuItem { text: qsTr("Zoom In") shortcut: StandardKey.ZoomIn onTriggered: zoomIn() } MenuItem { text: qsTr("Zoom Out") shortcut: StandardKey.ZoomOut onTriggered: zoomOut() } }
注意: Qt.labs 模块中的类型不保证在未来版本中保持兼容。
另请参阅 Menu 和MenuItemGroup 。
属性文档
checkable : bool
该属性表示项目是否可选中。
可复选的菜单项具有开/关状态。例如,在文字处理器中,"粗体 "菜单项可以处于打开或关闭状态。不可选中的菜单项是简单执行的命令项,例如文件保存。
默认值为false 。
另请参阅 checked 和MenuItemGroup 。
checked : bool
该属性表示项目是选中(打开)还是未选中(关闭)。默认值为false 。
另请参阅 checkable 和MenuItemGroup 。
enabled : bool
该属性表示项目是否已启用。默认值为true 。
用户无法触发已禁用的项目。它们不会从菜单中消失,但会以一种表示不可用的方式显示。例如,它们可能只以灰色阴影显示。
项目禁用时,无法通过shortcut 触发。
font : font
该属性用于保存菜单项的字体。
另请参阅 text 。
group : MenuItemGroup
该属性保存项目所属的组,如果项目不在组中,则保存null 。
icon group
icon.mask : bool [since Qt.labs.platform 1.1 (Qt 5.12)]
icon.name : string [since Qt.labs.platform 1.1 (Qt 5.12)]
icon.source : url [since Qt.labs.platform 1.1 (Qt 5.12)]
该属性保存菜单项的图标。
MenuItem { icon.mask: true icon.name: "edit-undo" icon.source: "qrc:/images/undo.png" }
这些属性在 Qt.labs.platform 1.1 (Qt 5.12) 中引入。
另请参阅 QIcon::fromTheme().
menu : Menu [read-only]
此属性保存项目所属的菜单,如果项目不在菜单中,则保存null 。
role : enumeration
此属性包含项目的角色。角色决定了该项目是否应放在 macOS 的应用程序菜单中。
可用值
| 常量 | 说明 |
|---|---|
MenuItem.NoRole | 该项目不应放入应用程序菜单 |
MenuItem.TextHeuristicRole | 项目应根据操作文本放入应用程序菜单(默认值) |
MenuItem.ApplicationSpecificRole | 该项目应放入应用程序菜单,并具有特定于应用程序的角色 |
MenuItem.AboutQtRole | 该项目处理 "关于 Qt "菜单项。 |
MenuItem.AboutRole | 该项目应放在应用程序菜单中 "关于 "菜单项所在的位置。菜单项的文本将设置为 "关于 <应用程序名称>"。应用程序名称取自应用程序捆绑包中的Info.plist 文件(请参阅Qt for macOS - 部署)。 |
MenuItem.PreferencesRole | 该项目应放在应用程序菜单中 "Preferences...(首选项...)"菜单项的位置。 |
MenuItem.QuitRole | 该项目应放在应用程序菜单中 "退出 "菜单项的位置。 |
指定角色只对菜单栏直接菜单中的项目有效,对这些菜单的子菜单无效。例如,如果您的菜单栏中有一个 "文件 "菜单,而 "文件 "菜单中有一个子菜单,那么为该子菜单中的项目指定角色不会产生任何影响。它们永远不会被移动到应用程序菜单中。
separator : bool
该属性表示项目是否为分隔线。默认值为false 。
另请参阅 MenuSeparator 。
shortcut : keysequence
该属性用于保存菜单项的快捷方式。
快捷键序列可以设置为standard keyboard shortcuts 中的一个,也可以通过字符串指定,字符串中最多包含四个按键序列,这些按键序列是trigger 快捷键所必需的。
默认值是空键序列。
MenuItem { shortcut: "Ctrl+E,Ctrl+W" onTriggered: edit.wrapMode = TextEdit.Wrap }
subMenu : Menu [read-only]
该属性表示项目包含的子菜单,如果项目不是子菜单项,则表示null 。
text : string
该属性用于保存菜单项的文本。
visible : bool
该属性表示项目是否可见。默认值为true 。
信号文档
hovered()
该信号在用户悬停菜单项时发出。
注: 相应的处理程序是onHovered 。
triggered()
该信号在用户触发菜单项时发出。
注: 相应的处理程序是onTriggered 。
方法文档
void toggle()
将checked 状态切换为相反状态。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.