Menu QML Type
Provides a menu component for use as a context menu, popup menu, or as part of a menu bar. 更多...
Import Statement: | import QtQuick.Controls 1.4 |
开始支持版本: | Qt 5.1 |
属性
- enabled : bool
- iconName : string
- iconSource : url
- items : list<Object>
- style : Component
- title : string
- type : enumeration
- visible : bool
信号
方法
- MenuItem addItem(string text)
- Menu addMenu(string title)
- void addSeparator()
- void insertItem(int before, object item)
- MenuItem insertItem(int before, string title)
- MenuItem insertMenu(int before, string title)
- void insertSeparator(int before)
- void popup()
- void removeItem(item)
详细描述
Menu { title: "Edit" MenuItem { text: "Cut" shortcut: "Ctrl+X" onTriggered: ... } MenuItem { text: "Copy" shortcut: "Ctrl+C" onTriggered: ... } MenuItem { text: "Paste" shortcut: "Ctrl+V" onTriggered: ... } MenuSeparator { } Menu { title: "More Stuff" MenuItem { text: "Do Nothing" } } }
The main uses for menus:
- as a top-level menu in a MenuBar
- as a submenu inside another menu
- as a standalone or context menu
Note that some properties, such as enabled
, text
, or iconSource
, only make sense in a particular use case of the menu.
参见 MenuBar, MenuItem, and MenuSeparator.
属性
Whether the menu is enabled, and responsive to user interaction as a submenu. Its value defaults to true
.
Sets the icon name for the menu icon. This will pick the icon with the given name from the current theme. Only works as a submenu.
Its value defaults to an empty string.
参见 iconSource.
iconSource : url |
Sets the icon file or resource url for the menu icon as a submenu. Defaults to an empty URL.
参见 iconName.
The list of items in the menu.
Menu only accepts objects of type Menu, MenuItem, and MenuSeparator as children. It also supports Instantiator objects as long as the insertion is being done manually using insertItem().
Menu { id: recentFilesMenu Instantiator { model: recentFilesModel MenuItem { text: model.fileName } onObjectAdded: recentFilesMenu.insertItem(index, object) onObjectRemoved: recentFilesMenu.removeItem(object) } MenuSeparator { visible: recentFilesModel.count > 0 } MenuItem { text: "Clear menu" enabled: recentFilesModel.count > 0 onTriggered: recentFilesModel.clear() } }
Note that in this case, the index
parameter passed to insertItem() is relative to the position of the Instantiator in the menu, as opposed to absolute position in the menu.
参见 MenuItem and MenuSeparator.
style : Component |
The style Component for this control.
This QML property was introduced in QtQuick.Controls.Styles 1.2.
参见 MenuStyle.
Title for the menu as a submenu or in a menubar.
Mnemonics are supported by prefixing the shortcut letter with &. For instance, "\&File"
will bind the Alt-F
shortcut to the "File"
menu. Note that not all platforms support mnemonics.
Its value defaults to an empty string.
This property is read-only and constant, and its value is type.
Whether the menu should be visible as a submenu of another Menu, or as a menu on a MenuBar. Its value defaults to true
.
Note: This has nothing to do with the actual menu pop-up window being visible. Use aboutToShow() and aboutToHide() if you need to know when the pop-up window will be shown or hidden.
信号
This signal is emitted just before the menu is hidden from the user.
This QML signal was introduced in QtQuick.Controls 1.4.
参见 aboutToShow().
This signal is emitted just before the menu is shown to the user.
This QML signal was introduced in QtQuick.Controls 1.4.
参见 aboutToHide().
成员
MenuItem addItem(string text) |
Adds an item to the menu. Returns the newly created MenuItem.
参见 insertItem().
Menu addMenu(string title) |
Adds a submenu to the menu. Returns the newly created Menu.
参见 insertMenu().
Adds a separator to the menu.
Inserts the item
at the index before
in the current menu. In this case, item
can be either a MenuItem, a MenuSeparator, or a Menu.
参见 removeItem().
MenuItem insertItem(int before, string title) |
MenuItem insertMenu(int before, string title) |
Creates and inserts a separator at the index before
in the current menu.
参见 addSeparator().
Opens this menu under the mouse cursor. It can block on some platforms, so test it accordingly.
Removes the item
from the menu. In this case, item
can be either a MenuItem, a MenuSeparator, or a Menu.
参见 insertItem().