MenuBar QML Type | Qt Quick Controls 5.14.2

Qt 5.14 | Qt Quick Controls | QML Types | MenuBar QML Type

Qt 5.14.2 Reference Documentation

# MenuBar QML Type

Provides a window menu bar. More...

Import Statement: | import QtQuick.Controls 2.14
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)
- void insertMenu(index, Menu menu)
- Menu menuAt(index)
- void removeMenu(menu)
- Menu takeMenu(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.

## Property Documentation

contentHeight : real

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

Note: This property is available in MenuBar since QtQuick.Controls 2.3 (Qt 5.10), but it was promoted to the Container base type in QtQuick.Controls 2.5 (Qt 5.12).

This property was introduced in QtQuick.Controls 2.3 (Qt 5.10).

See also Container::contentHeight.

contentWidth : real

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

Note: This property is available in MenuBar since QtQuick.Controls 2.3 (Qt 5.10), but it was promoted to the Container base type in QtQuick.Controls 2.5 (Qt 5.12).

This property was introduced in QtQuick.Controls 2.3 (Qt 5.10).

See also Container::contentWidth.

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)

Adds menu to the end of the list of menus.

void insertMenu(index, Menu menu)

Inserts menu at index.

Menu menuAt(index)

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

void removeMenu(menu)

Removes and destroys the specified menu.

Menu takeMenu(index)

Removes and returns the menu at index.

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