Question

J'apprends wxPython, donc la plupart des bibliothèques et des classes sont nouvelles pour moi.

Je crée une classe de dialogue Préférences mais je ne connais pas le meilleur moyen de vérifier que les boutons OK / Annuler (ou Enregistrer / Fermer) sont dans le bon ordre pour la plate-forme. Ce programme est conçu pour fonctionner à la fois sous GNOME et Windows. Je souhaite donc m'assurer que les boutons sont dans le bon ordre pour chaque plate-forme.

wxPython fournit-il des fonctionnalités qui m'empêchent de procéder à un type de piratage de type si platform.system () == 'Linux' ?

Était-ce utile?

La solution

L'apparence d'une boîte de dialogue ne peut changer que si vous utilisez des boîtes de dialogue de stock (comme wx.FileDialog). Si vous créez la vôtre, la mise en page restera la même sur toutes les plateformes.

wx.Dialog a une méthode CreateStdDialogButtonSizer qui crée un wx.StdDialogButtonSizer avec des boutons standard dans lesquels vous pouvez voir des différences de disposition sur différentes plates-formes sans que vous deviez l'utiliser.

Autres conseils

Vous pouvez utiliser un StdDialogButtonSizer

http://www.wxpython.org/docs/api /wx.StdDialogButtonSizer-class.html

Tant que vos boutons ont les identifiants standard, ils seront placés dans le bon ordre.

Juste pour ajouter une ride, sur un Mac par exemple, une boîte de dialogue de préférences n’aurait pas de boutons OK / Annuler. Il appliquerait automatiquement les préférences au fur et à mesure de leur saisie (ou du moins à la fermeture du dialogue). Dans ce cas, il vous faudra donc continuer à renifler une plate-forme.

Si vous envisagez d'utiliser wx (ou tout autre toolkit de x-platform), vous feriez mieux de lui faire croire qu'il fait la bonne chose, mon! -)

Il y a le widget GenericMessageDialog qui devrait faire la bonne chose en fonction de la plate-forme (mais je ne l'ai jamais utilisé donc je ne suis pas sûr que ce soit le cas). Voir la démonstration de wxPython.

Vous pouvez également utiliser la bibliothèque d’addon SizedControls (elle fait partie de wxPython). La classe SizedDialog permet de créer des boîtes de dialogue conformes aux directives d'interface utilisateur de chaque plate-forme. Voir la démonstration de wxPython.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top