带有 QML App 的 Appmenu

带有 QML App 的 Appmenu

我正在开发一个 Ubuntu SDK,旨在用于桌面和触摸界面。显然,从窗口底部向上滑动的菜单对于桌面来说不是一个很好的界面。

我希望能够将那里的项目冗余地添加到普通应用程序菜单 ( appmenu) 中,以便在桌面上使用。如何在 QML 应用程序中做到这一点?我没有找到任何文档,只有这里提到了 Qt 中的可能性:

http://blog.qt.digia.com/blog/2011/08/26/toplevel-windows-and-menus-with-qt-quick/

编辑:我发现问题中提到了所需的库Qt Quick Controls 可以在 Ubuntu 13.10 上使用吗? 。如果我能将其转化为解决方案,我会发布答案。

编辑:添加ubuntu-sdk-team/ppacanonical-qt5-edgers/qt5-properPPA 并升级后,我仍然没有QtQuick.Controls。是的,我正在运行 Trusty

更新:现在看来这些软件包已在 Trusty 中就位,并且导入QtQuick.Controls工作正常。但是,当我向应用程序添加菜单时,它没有任何效果。没有出现菜单。有什么建议吗?

更新:自 14.04 发布以来,我再次尝试,但没有任何变化。我试过Ubuntu.HUD(此代码中的数独应用程序)、actions属性(稍后在数独应用程序,甚至尝试使用ApplicationWindow(不存在),但菜单根本没有出现在窗口中,从底部向上拖动菜单不会显示触摸 HUD。由于APP_ID运行时总是出现“必须提供环境变量,否则 HUD 将不起作用”的错误,所以我从设置了 APP_ID 的终端运行它。仍然没有结果。

Window {
    visible: true
    width: units.gu(40)
    height: units.gu(75)
    title: "My App"

    MenuBar {
        Menu {
            title: "File"
            MenuItem {
                 text: "Quit"
            }
        }
    }

    MainView {

        id: root
        // objectName for functional testing purposes (autopilot-qt5)
        objectName: "mainView"
        // ...

答案1

在 Ubuntu 14.04 LTS 周期中,从 Qt 5.0 到 5.2 的过渡是一个漫长的过程(在撰写本文时仍然如此),比许多人预期的要漫长得多。

QtQuickControls适用于 Qt >= 5.1,因此最终的 14.04 版本应该允许您使用它来设计应用程序appmenu

答案2

我在使用 Ubuntu 14.04 时也遇到了这个问题。我创建的 Qt Quick 应用程序中没有出现菜单,甚至未经修改的模板“Hello World”应用程序也不会显示菜单(无论是在应用程序窗口中,还是在屏幕顶部的 Ubuntu 菜单中)。

对我来说,解决方案是使用 Linux 的二进制安装程序安装最新 Qt 包的个人副本(http://qt-project.org/downloads)其中包括Qt 5.2.1和Creator 3.1.0。

我按照建议将其安装到 $HOME/Qt 中。

当我运行最新的 Qt Creator 和软件包时,我现在看到应用程序菜单作为传统的 Windows 样式菜单出现在应用程序窗口中。

相关内容