1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick
import QtQuick.Controls
ApplicationWindow {
id: root
property bool menuBarVisible: true
property alias fileMenu: fileMenu
property alias contents: contents
width: 400
height: 400
visible: true
menuBar: MenuBar {
visible: root.menuBarVisible
Menu {
id: fileMenu
title: "&File"
MenuItem { text: "&Open..." }
MenuItem { text: "&Save" }
MenuItem { text: "Save &As..." }
MenuSeparator { }
MenuItem { text: "&Quit" }
}
Menu {
title: "&Edit"
MenuItem { text: "&Cut" }
MenuItem { text: "&Copy" }
MenuItem { text: "&Paste" }
}
Menu {
title: "&View"
Menu {
title: "&Alignment"
Menu {
title: "&Horizontal"
MenuItem { text: "&Left" }
MenuItem { text: "&Center" }
MenuItem { text: "&Right" }
}
Menu {
title: "&Vertical"
MenuItem { text: "&Top" }
MenuItem { text: "&Center" }
MenuItem { text: "&Bottom" }
}
}
}
Menu {
title: "&Help"
MenuItem { text: "&About" }
}
}
Rectangle {
id: contents
anchors.fill: parent
color: "green"
}
Text {
// dummy binding to test that fileMenu will be kept alive
// after a call to menuBar.removeMenu(fileMenu) followed
// by running the garbage collector.
text: fileMenu.title
}
Component {
id: menuComp
Menu {
objectName: "Extra"
title: "extra"
}
}
function addTestMenu()
{
let menu = menuComp.createObject(null)
menuBar.addMenu(menu)
}
}
|