Qt 5.11 | Qt Quick Controls 2 | QML Types | MenuBar QML Type

Qt 5.11.3 Reference Documentation

# MenuBar QML Type

Provides a window menu bar. More...

Import Statement: | import QtQuick.Controls 2.4
Since: | Qt 5.10
Inherits: | Container

- List of all members, including inherited members

## Properties

- contentHeight : real
- contentWidth : real
- delegate : Component
- menus : list<Menu>

## Methods

- void addMenu(Menu menu)
- void insertMenu(int index, Menu menu)
- Menu menuAt(int index)
- void removeMenu(Menu menu)
- Menu takeMenu(int index)

## Detailed Description

MenuBar consists of drop-down menus, and is normally located at the top edge of the window.

      ApplicationWindow {
          id: window
          width: 320
          height: 260
          visible: true

          menuBar: MenuBar {
              Menu {
                  title: qsTr("&File")
                  Action { text: qsTr("&New...") }
                  Action { text: qsTr("&Open...") }
                  Action { text: qsTr("&Save") }
                  Action { text: qsTr("Save &As...") }
                  MenuSeparator { }
                  Action { text: qsTr("&Quit") }
              }
              Menu {
                  title: qsTr("&Edit")
                  Action { text: qsTr("Cu&t") }
                  Action { text: qsTr("&Copy") }
                  Action { text: qsTr("&Paste") }
              }
              Menu {
                  title: qsTr("&Help")
                  Action { text: qsTr("&About") }
              }
          }
      }

Typically, menus are statically declared as children of the menu bar, but MenuBar also provides API to add, insert, remove, and take menus dynamically. The menus in a menu bar can be accessed using menuAt().

See also Customizing MenuBar, Menu, MenuBarItem, Menu Controls, and Focus Management in Qt Quick Controls 2.

## Property Documentation

contentHeight : real

This property holds the content height. It is used for calculating the total implicit height of the menu bar.

Unless explicitly overridden, the content height is automatically calculated based on the maximum implicit height of the items.

See also contentWidth.

contentWidth : real

This property holds the content width. It is used for calculating the total implicit width of the menu bar.

Unless explicitly overridden, the content width is automatically calculated based on the total implicit width of the items and the spacing of the menu bar.

See also contentHeight.

delegate : Component

This property holds the component that is used to create menu bar items to present menus in the menu bar.

See also MenuBarItem.

menus : list<Menu>

This property holds the list of menus.

The list contains all menus that have been declared in QML as children of the menu bar, and also menus that have been dynamically added or inserted using the addMenu() and insertMenu() methods, respectively.

## Method Documentation

void addMenu(Menu menu)

Adds menu to the end of the list of menus.

void insertMenu(int index, Menu menu)

Inserts menu at index.

Menu menuAt(int index)

Returns the menu at index, or `null` if it does not exist.

void removeMenu(Menu menu)

Removes and destroys the specified menu.

Menu takeMenu(int index)

Removes and returns the menu at index.

Note: The ownership of the item is transferred to the caller.