/Qt 5.13

MenuStyle QML Type

Provides custom styling for Menu. More...

Import Statement: import QtQuick.Controls.Styles 1.4
Since: Qt 5.3



Detailed Description

The styleData object contains the following read-only properties:

styleData.index : int The index of the menu item in its menu.
styleData.type : enumeration The type of menu item. See below for possible values.
styleData.selected : bool true if the menu item is selected.
styleData.pressed : bool true if the menu item is pressed. Available since 5.4.
styleData.text : string The menu item's text, or title if it's a submenu.
styleData.underlineMnemonic : bool Whether the style should underline the menu item's label mnemonic.
styleData.shortcut : string The text for the menu item's shortcut.
styleData.iconSource : url The source URL to the menu item's icon. Undefined if it has no icon.
styleData.enabled : bool true if the menu item is enabled.
styleData.checkable : bool true if the menu item is checkable.
styleData.exclusive : bool true if the menu item is checkable, and it's part of an ExclusiveGroup.
styleData.checked : bool true if the menu item is checkable and currently checked.
styleData.scrollerDirection : enumeration If the menu item is a scroller, its pointing direction. Valid values are Qt.UpArrow, Qt.DownArrow, and Qt.NoArrow.

The valid values for styleData.type are:

  • MenuItemType.Item
  • MenuItemType.Menu
  • MenuItemType.Separator
  • MenuItemType.ScrollIndicator

Note: Styling menus may not be supported on platforms using native menus through their QPA plugin.

Property Documentation

font : font

The font of the control.

This property was introduced in QtQuick.Controls.Styles 1.3.

frame : Component

The background frame for the menu popup.

The Menu will resize the frame to its contents plus the padding.

itemDelegate : Object

The object containing the menu item subcontrol components. These subcontrols are used for normal menu items only, i.e. not for separators or scroll indicators.

The subcontrols are:

  • itemDelegate.background : Component

    The menu item background component.

    Its appearance generally changes with styleData.selected and styleData.enabled.

    The default implementation shows only when the item is enabled and selected. It remains invisible otherwise.

  • itemDelegate.label : Component

    Component for the actual text label.

    The text itself is fetched from styleData.text, and its appearance should depend on styleData.enabled and styleData.selected.

    If styleData.underlineMnemonic is true, the label should underline its mnemonic character. formatMnemonic provides the default formatting.

  • itemDelegate.submenuIndicator : Component

    It indicates that the current menu item is a submenu.

    Only used when styleData.type equals MenuItemType.Menu.

  • itemDelegate.shortcut : Component

    Displays the shortcut attached to the menu item.

    Only used when styleData.shortcut is not empty.

  • itemDelegate.checkmarkIndicator : Component

    Will be used when styleData.checkable is true and its appearance may depend on styleData.exclusive, i.e., whether it will behave like a checkbox or a radio button. Use styleData.checked for the checked state.

Note: This property cannot be overwritten although all of the subcontrol properties can.

scrollIndicator : Component

Component for the scroll indicator menu item.

Will be used when styleData.type equals MenuItemType.ScrollIndicator. Its appearance should follow styleData.scrollerDirection.

This is the item added at the top and bottom of the menu popup when its contents won't fit the screen to indicate more content is available in the direction of the arrow.

separator : Component

Component for the separator menu item.

Will be used when styleData.type equals MenuItemType.Separator.

submenuOverlap : int

The amount of pixels by which a submenu popup overlaps horizontally its parent menu.

submenuPopupDelay : int

The number of milliseconds to wait before opening a submenu.

Method Documentation

string formatMnemonic(string text, bool underline = false)

Returns a rich-text string to render mnemonics for a given menu item.

The mnemonic character is prefixed by an ampersand in the original string.

Passing true for underline will underline the mnemonic character (e.g., formatMnemonic("&Open...", true) will return "<u>O</u>pen..."). Passing false for underline will return the plain text form (e.g., formatMnemonic("&Open...", false) will return "Open...").

See also Label.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.