このページでは

MenuBar QML Type

ウィンドウのメニューバーを表示します。詳細...

Import Statement: import QtQuick.Controls
Inherits:

Container

プロパティ

方法

詳細説明

「ファイル」、「編集」、「表示」メニューを備えたメニューバー

MenuBarはドロップダウンメニューで構成され、通常はウィンドウの上端に配置されます。

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

通常、メニューはメニューバーの子要素として静的に宣言されますが、MenuBar は、add 、insert 、remove 、およびtake メニューを動的に生成するための API も提供しています。メニューバー内のメニューには、menuAt() を使用してアクセスできます。

ネイティブメニューバー

Qt 6.8 以降、macOS では MenuBar がネイティブメニューバーとして実装されています。その結果、MenuBar 内のすべての Menu、MenuItem、および MenuBarItem もネイティブになります。 これにより、すべてがネイティブのように見えるという利点がある一方で、前述のコントロールに設定されたデリゲートがレンダリングに使用されないという欠点もあります。ネイティブのMenuBarを望まない場合は、QGuiApplication::setAttribute(Qt::AA_DontUseNativeMenuBar) を設定して無効にすることができます。

「MenuBarのカスタマイズ」、「Menu 」、「MenuBarItem 」、「メニューコントロール」、および「Qt Quick コントロールのフォーカス管理」も参照してください 。

プロパティのドキュメント

delegate : Component

このプロパティには、メニューバーにメニューを表示するためのメニューバー項目を作成する際に使用されるコンポーネントが格納されます。

MenuBar デリゲートの所有権を取得しません。

「MenuBarItem」も参照してください 。

このプロパティには、メニューのリストが格納されます。

このリストには、QML 内でメニューバーの子として宣言されたすべてのメニューに加え、addMenu() メソッドおよびinsertMenu() メソッドを使用してそれぞれ動的に追加または挿入されたメニューが含まれます。

メソッドのドキュメント

void addMenu(Menu menu)

メニューの一覧の最後に「menu 」を追加します。

void insertMenu(int index, Menu menu)

index にmenu を挿入します。

index にあるメニューを返します。存在しない場合は、null を返します。

void removeMenu(Menu menu)

指定されたmenu を削除します。メニューがopen の場合、まずdismissed となります。menu は、アプリケーションがそれに対するQML参照を一切保持しなくなった時点で、最終的にガベージコレクタによって削除されます。

Menu takeMenu(int index)

index にあるメニューを取り出して返します。メニューがopen の場合、最初はdismissed となります。アプリケーションが当該メニューへの QML 参照を一切保持しなくなると、そのメニューは最終的にガベージコレクタによって削除されます。

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