我想在Android上的ApplicationWindow
中同时显示MenuBar
和ToolBar
,但它不起作用:
import QtQuick 2.5
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.2
ApplicationWindow {
visible: true
menuBar: MenuBar {
Menu {
title: qsTr("File")
MenuItem {
text: qsTr("Exit")
onTriggered: Qt.quit();
}
}
}
toolBar: ToolBar {
RowLayout {
anchors.fill: parent
ToolButton {
text: "exit";
onClicked: Qt.quit();
}
}
}
statusBar: Label { text: "statusBar" }
}
这段代码只是显示工具栏。如果我注释掉ToolBar
代码,我可以看到MenuBar
。我在Windows上使用Qt 5.5.1(GCC 4.9)。
我做错了什么?
观察到的行为在某种程度上是有意的。关于ActionBar
的平台说明很清楚:
Action Bar是一个特殊的Android控件,它提供了许多关键功能,包括各种导航模式、操作、选项菜单、后退按钮,还显示应用程序图标和标题。
与Qt小工具不同,Qt快速控制不使用Android上的本地操作栏ToolBar和MenuBar作为跨平台的替代品提供。它们被统一为一个单独的";动作条";当分配给适当的ApplicationWindow属性时。
因此,你所观察到的应该是两者的合并行为。如果您在实现该方法时遇到困难,请参阅库示例,该示例提供了上面讨论的统一操作栏的清晰、简单的实现。