web-dev-qa-db-fra.com

Appmenu avec QML App

Je développe un SDK Ubuntu destiné à être utilisé à la fois sur les interfaces de bureau et tactiles. De toute évidence, le menu qui glisse du bas de la fenêtre n’est pas une excellente interface pour le bureau.

J'aimerais pouvoir ajouter les éléments de manière redondante à un menu d'application normal (appmenu) à utiliser sur le bureau. Comment cela peut-il être fait dans une application QML? Je n'ai trouvé aucune documentation, seulement une mention de la possibilité dans Qt ici:

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

Edit : J'ai trouvé la mention de la bibliothèque nécessaire dans la question Les contrôles rapides Qt sont-ils disponibles sur Ubuntu 13.10? . Si je peux transformer cela en solution, je posterai la réponse.

Edit : Après avoir ajouté les ubuntu-sdk-team/ppa et canonical-qt5-edgers/qt5-proper PPA et la mise à niveau, je n'ai toujours pas QtQuick.Controls. Et oui, j'utilise Trusty .

Update : il semble que les packages soient maintenant en place dans Trusty et que l'importation de QtQuick.Controls fonctionne correctement. Cependant, lorsque j'ajoute un menu à mon application, cela n'a aucun effet. Aucun menu n'apparaît. Aucun conseil?

Mise à jour : J'ai réessayé depuis la sortie de 14.04, mais rien n'a changé. J'ai essayé Ubuntu.HUD (code dans cet Sudoku app ), un attribut actions (plus tard dans le Sudoku app , même en essayant d'utiliser ApplicationWindow (qui n'existe pas ), mais le menu n’apparaît tout simplement pas dans la fenêtre, et le fait de faire glisser le menu du bas n’affiche pas le HUD tactile. Et comme il donne toujours la variable environnementale "Doit fournir APP_ID ou le HUD ne fonctionnera pas "erreur lors de l'exécution, je l'ai exécuté à partir du terminal avec un APP_ID défini. Toujours rien.

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"
        // ...
3
Jonah

La transition de Qt 5.0 à 5.2 dans le cycle Ubuntu 14.04 LTS était (et reste, au moment de la rédaction) un long processus beaucoup plus long que beaucoup de personnes ne le souhaitaient.

QtQuickControls sont disponibles avec Qt> = 5.1. La version finale 14.04 devrait donc vous permettre de concevoir des applications avec appmenu.

1
Sylvain Pineau

J'ai également rencontré ce problème avec Ubuntu 14.04. Aucun menu n'apparaissant dans l'application Qt Quick que je créais, même l'application de modèle "Hello World" non modifiée ne devrait afficher aucun menu (ni dans la fenêtre de l'application, ni dans le menu Ubuntu en haut de l'écran).

La solution pour moi était d'installer une copie personnelle du dernier paquet Qt à l'aide du programme d'installation binaire pour Linux ( http://qt-project.org/downloads ). Il comprenait Qt 5.2.1 et Creator 3.1.0.

Je l'ai installé dans $ HOME/Qt comme recommandé.

Lorsque j'exécute la dernière version de Qt Creator et de son ensemble, le menu de l'application apparaît sous la forme d'un menu de style Windows traditionnel dans la fenêtre de l'application.

1
tigs001