1

我想在我的 Android 上同时显示MenuBar和显示,但它不起作用:ToolBarApplicationWindow

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 (GCC 4.9) 上使用 Qt 5.5.1。

我究竟做错了什么?

4

1 回答 1

0

观察到的行为是有意的。平台说明ActionBar清楚地表明了这一点:

Action Bar 是一个特殊的 Android 控件,它提供了许多关键功能,包括各种导航模式、操作、选项菜单、后退按钮,并且还显示应用程序图标和标题。

与 Qt Widgets 不同,Qt Quick Controls 不使用 Android 上的原生操作栏。ToolBar 和 MenuBar作为跨平台的替代品提供。当分配给适当的 ApplicationWindow 属性时,它们会统一到单个“操作栏”

因此,您所观察到的应该是两者的合并行为。如果您在实施该方法时遇到问题,请参阅图库示例,该示例提供了上面讨论的统一操作栏的清晰、简单的实现。

于 2015-11-11T10:33:02.617 回答