Sur cette page

MenuBar QML Type

Affiche une barre de menu dans la fenêtre. En savoir plus…

Import Statement: import QtQuick.Controls
Inherits:

Container

Propriétés

Méthodes

Description détaillée

Barre de menus comprenant les menus « Fichier », « Édition » et « Affichage »

MenuBar se compose de menus déroulants et se trouve généralement en haut de la fenêtre.

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") }
        }
    }
}

En général, les menus sont déclarés de manière statique en tant qu’éléments enfants de la barre de menus, mais MenuBar fournit également une API permettant d’ add, d’ insert, d’ remove et d’ take des menus de manière dynamique. Les menus d’une barre de menus sont accessibles via la fonction menuAt().

Barres de menus natives

Depuis Qt 6.8, une MenuBar est implémentée en tant que barre de menus native sous macOS. Par conséquent, tous les Menus, MenuItems et MenuBarItems contenus dans une MenuBar seront également natifs. Si cela présente l’avantage d’offrir un aspect entièrement natif, cela comporte également l’inconvénient que les délégués définis sur les contrôles mentionnés ne seront pas utilisés pour le rendu. Si vous ne souhaitez pas utiliser de MenuBar native, vous pouvez définir ` QGuiApplication::setAttribute(Qt::AA_DontUseNativeMenuBar) ` pour la désactiver.

Voir également « Personnalisation de la barre de menus », « Menu », « MenuBarItem », « Contrôles de menu » et « Gestion du focus » dans Qt Quick Controls.

Documentation sur les propriétés

delegate : Component

Cette propriété contient le composant utilisé pour créer des éléments de barre de menus afin d'afficher des menus dans la barre de menus.

MenuBar Elle ne prend pas possession du délégué.

Voir également MenuBarItem.

Cette propriété contient la liste des menus.

Cette liste contient tous les menus qui ont été déclarés en QML en tant qu'enfants de la barre de menus, ainsi que les menus qui ont été ajoutés ou insérés dynamiquement à l'aide des méthodes addMenu() et insertMenu(), respectivement.

Documentation des méthodes

void addMenu(Menu menu)

Ajoute « menu » à la fin de la liste des menus.

void insertMenu(int index, Menu menu)

Ajoute l'menu à l'adresse index.

Renvoie le menu disponible à l'adresse index, ou null s'il n'existe pas.

void removeMenu(Menu menu)

Supprime l'menu spécifié. Si le menu est de type « open », il sera d'abord converti en « dismissed ». L'menu sera finalement supprimé par le ramasse-miettes lorsque l'application ne détiendra plus aucune référence QML vers celui-ci.

Menu takeMenu(int index)

Supprime et renvoie le menu situé à l'adresse index. Si le menu se trouve à l'adresse open, il sera d'abord accessible à l'adresse dismissed. Le menu sera finalement supprimé par le ramasse-miettes lorsque l'application ne détiendra plus aucune référence QML vers celui-ci.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.