- Qt 6.7
- Qt Quick Controls
- QML Types
- MenuBar
- Qt 6.7.2 Reference Documentation

# MenuBar QML Type

Provides a window menu bar. More...

Import Statement: | import QtQuick.Controls
Inherits: | Container

- List of all members, including inherited members

## Properties

- contentHeight : real `(since QtQuick.Controls 2.3 (Qt 5.10))`
- contentWidth : real `(since QtQuick.Controls 2.3 (Qt 5.10))`
- 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.

## Property Documentation

contentHeight : real `[since QtQuick.Controls 2.3 (Qt 5.10)]`

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 `[since QtQuick.Controls 2.3 (Qt 5.10)]`

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 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.