MenuBar QML Type
Provides a window menu bar. More...
Import Statement: | import QtQuick.Controls |
Inherits: |
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().
Native menu bars
Since Qt 6.8, a MenuBar is implemented as a native menu bar on macOS. As a result, all Menus, MenuItems and MenuBarItems within a MenuBar will also be native. While this has the advantage that everything will look native, it also comes with the disadvantage that the delegates set on the mentioned controls will not be used for rendering. If a native MenuBar is not wanted, you can set QGuiApplication::setAttribute(Qt::AA_DontUseNativeMenuBar) to disable it.
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.
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 removeMenu(Menu menu) |