Comment puis-je avoir des menuches dans Qtquick Controls 2? Il était comme celui-ci (dans ApplicationWindow): mais après la mise à niveau vers qt 5.7 Il donne cette erreur: ps Il utilisait l'utilisation du système de menu natif de l'appareil, par exemple sur OS X, il utilisait le Topbar Menubar de Topbar de l'écran natif, sous Linux et Windows, il utilisait Natif dans l'application Topbar Menubar, etc. P> P> Nom de la propriété non valide "Menubar". (M16) Code> p>
5 Réponses :
the Les commandes rapides QT 2 ne sont pas destinées à offrir une application de bureau native, mais sont censées proposer des composants simples, efficaces et personnalisables. Par exemple, dans qqc2, vous utiliseriez une barre d'outils code> ou un Bien que ce ne soit pas documenté, il semble que juste avoir un applicationWindow code> a > de la propriété QT Quick Commands 2 n'a pas de propriété code> Menubar, il a été remplacé par un
en-tête code> propriété
qui accepte élément code> (mais il n'accepte pas
Menubar code> plus). P>
onglet code> comme en-tête code> d'un
applicationwindow code>. P >
Menubar Code> en tant qu'enfant d'un
ApplicationWindow CODE> (dans QQC1 et QQC2) définit la barre de menu native sur OS X (Pas sur Android, et je ne l'ai pas testé sur d'autres plates-formes). P>
Merci d'info, mais j'utilise QT pour que j'écris une fois et j'écris une fois partout. J'ai posé la même question sur le blog Qt annonçant la publication Qt 5.7 et c'est leur réponse: blog.qt.io/16/qt-5-7-releed/#COMMENT-197915
Eh bien, j'utilise qt afin que je puisse écrire une fois et l'utiliser partout. J'ai pu avoir des menuaux indigènes dans toutes les plateformes qui l'ont soutenu avec Qtquick Controls 1. *.
Merci pour info btw.
Est qt.labs.platform code> disponible dans qt 5.7? Ne semble pas comme ça.
@Violetgirafe Nope, il sera disponible en 5.8.
J'ai posé la même question sur le blog Qt annonçant la sortie de QT 5.7 et c'est leur réponse: http://blog.qt.io/blog/2016/06/16/qt-5-7-releed/#COMMENT-1197915 << / p>
SE SE SE SE SE SE SE QUE NOUS AVONS ATTENDRE QT 5.8 ou CLONE LE REPO AS MITCH SUMPÉRÉ DANS SA RÉPONSE. P>
Ceci est maintenant implémenté dans QT Quick Commands 2: HTTPS : //doc.qt.io/qt-5.10/qml-qtquick-controls2-menubar.html P>
Depuis le blog post QT Quick Controls 2.0 - Un nouveau départ! : "Il n'y a pas de styles natifs dans Qt Quick Commands 2 - Tous les styles sont croisés et semblent identiques sur toutes les plateformes." Je ne pense pas que le module Qt.Labs.platform fait partie des commandes rapides QT 2. Si vous souhaitez des contrôles natifs, collez-vous avec des commandes rapides QT 1 (en mélangeant avec quelques contrôles rapides QT 2 en cas de besoin).
Avez-vous lu la réponse de J-P Nurmi à mon commentaire? La citation que vous avez mentionnée parle des styles. Je suppose que soutenir les icônes de ménubar ou de plateau indigènes ou des choses comme celle-ci est légèrement différente des styles ou des choses de bouton comme ça. Ou peut-être qu'il a changé d'idée un peu et ajouté quelques exceptions à des exceptions pour les menuches, les icônes de plateau ou les dialogues.
Oui, je faisais seulement parler de QQC2. Je crois que le soutien aux menus de la plate-forme natif ne fera pas partie de QQC2 mais d'un autre module.
Je vois, oui ça a du sens.
@Grecko Je pense que ce sera une partie du même module, juste une importation différente, de la même manière que qt.labs.calendar code> fait partie de
qtquickcontrols2.git code> .
Cette fonctionnalité a été introduite pour les contrôles2 dans Qt 5.10. L'interface est très similaire, sauf que les ménulseurs ont été remplacés par l'action plus universelle. P>
Je réalise que c'est une ancienne question, mais cela pourrait toujours être pertinent pour les passants comme moi. P>
Je viens de rencontrer cette question tout en faisant face à ce problème moi-même. La solution que j'ai trouvée est d'importer qt.labs.platform code>, comme mentionné, ne fonctionne pas sous Windows, et
qt.quick.controls 2 code> n'essaie pas de mettre en œuvre des menus naïvement sur quoi que ce soit. Ceci n'est pas satisfaisant si vous voulez des menus autochtones réels au lieu d'objets QML personnalisés.
qtquick.controls 1 code> et d'utiliser juste pour la fenêtre principale et le menu. bar. La syntaxe d'importation de QML rend cela facile. Par exemple: P>
import QtQuick.Controls 2.12
import QtQuick.Controls 1.2 as OldControls
OldControls.ApplicationWindow {
visible: true
menuBar: OldControls.MenuBar { // Should attach natively
OldControls.Menu {
title: 'File'
OldControls.MenuItem {
text: 'New'
shortcut: StandardKey.New
onTriggered: context.new()
}
}
}
Button { ... } // QtQuick.Controls 2 version
}
S'il vous plaît essayez de poster un exemple complet ... Quel est votre élément root? Quelles sont vos importations? Si vous utilisez
ApplicationWindow CODE> La propriété semble exister en 5.7 ... ( doc.qt.io/qt-5.7/... ).