Я бы создал отдельный файл, содержащий компонент для MenuBar в ApplicationWindow. У меня есть исходный файл, как это:Создайте отдельный файл QML для MenuBar в ApplicationWindow
ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
menuBar: MenuBar {
Menu {
title: qsTr("File")
MenuItem {
text: qsTr("&Open")
onTriggered: console.log("Open action triggered");
}
MenuItem {
text: qsTr("Exit")
onTriggered: Qt.quit();
}
}
}
Label {
text: qsTr("Hello World")
anchors.centerIn: parent
}
}
Но я бы отделить и сделать более сложное меню в отдельном файле, как это:
Первый Файл:
ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
menuBar: MyMenuBar{
}
Label {
text: qsTr("Hello World")
anchors.centerIn: parent
}
}
Второй файл: (MyMenuBar.qml)
MenuBar {
Menu {
title: qsTr("File")
MenuItem {
text: qsTr("&Open")
onTriggered: console.log("Open action triggered");
}
MenuItem {
text: qsTr("Exit")
onTriggered: Qt.quit();
}
}
}
Я пробовал с этим решением, но когда я пытаюсь запустить программу, это говорит MyMenuBar is not a type
.
Что случилось?
Ваш проект использует файл '.qrc'? Если это так, попробуйте снова запустить qmake, щелкнув правой кнопкой мыши по проекту в Creator и нажав 'Run qmake', а затем снова создайте свой проект. – Mitch
@ Митч прав. Ваш файл ресурсов '.qrc' должен выглядеть как [this] (https://gist.github.com/ftena/ef94e24d2e0727a26917). – Tarod