【问题标题】:MenuBar and ToolBar don't show together on Qt AndroidMenuBar 和 ToolBar 在 Qt Android 上不一起显示
【发布时间】:2015-11-11 07:32:16
【问题描述】:

我想在 Android 上的 ApplicationWindow 中同时显示 MenuBarToolBar 但它不起作用:

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。

我做错了什么?

【问题讨论】:

    标签: android qml qtquick2 menubar qt5.5


    【解决方案1】:

    观察到的行为在某种程度上是有意的。关于ActionBar 的平台说明很清楚:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-19
      • 2020-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-07
      • 1970-01-01
      相关资源
      最近更新 更多