wxPython vs PyQt vs PyGTK: quand et quoi utiliser?

  • besoin de conseils de la part de ceux qui ont une expérience minimale de la santé pour concevoir des interfaces GUI avec Python.
  • quand et quoi choisir selon la complexité de L'interface graphique?
  • quels constructeurs de GUI pouvons-nous utiliser pour avoir une meilleure qualité de développement?

C'est mon premier design GUI, et je l'ai fait sans GUI builder, en ce moment empilé parce que j'ai compris, que ObjectListView wrapper pour wx.ListCtrl n'a pas à inclure nativement facile progression des éléments de barre ou de jauge. (voir la colonne "Statut du téléchargement" de l'image).

Remarque: ObjectListView a la barre de progression dans la version .Net, pour le moment pas dans wx.Python.

P. S:j'ai trouvé cette magnifique Python GTK+ Tutorial complet de la pile

enter image description here

35
demandé sur Mike Driscoll 2013-10-25 11:47:07

3 réponses

je ne suis pas vraiment sûr de ce que vous demandez. wxPython et pyQt / pyside sont probablement les plus faciles à utiliser sur toutes les plates-formes et seront à droite sur la plupart des systèmes d'exploitation. Je sais que wxPython est spécifiquement conçu pour envelopper les widgets natifs donc si vous voulez que votre application à l'air natif, je pense que wxPython est la voie à suivre. Si vous voulez être en mesure de thème/peau votre application, alors PyQT ou pyGTK peut être mieux.

PyQt / PySide prend en charge mobile dans une certaine mesure, ce que je ne crois pas que les deux autres fassent. Si vous prévoyez de programmer pour mobile, alors vous pourriez vouloir aller sur cette route ou regarder Kivy.

PyQt / PySide ont un éditeur WYSIWYG assez puissant. wxPython a un couple, mais je ne pense pas que l'un d'eux soutient tous les widgets de wx et leur soutien est inégal. Cela ne m'a pas arrêté car je fais tout mon codage à la main de toute façon.

Comme d'habitude, vous aurez probablement besoin de lire beaucoup de documentation et d'essayer chacun d'eux pour voir celui qui correspond à votre cerveau et qui répond le mieux à vos besoins.

21
répondu Mike Driscoll 2013-10-25 13:31:19

N'utilisez pas PyGTK si vous voulez une compatibilité de plateforme croisée. GTK3 ne fonctionne pas encore sous windows (dernière vérification) et GTK2 a une terrible fuite de mémoire sous windows qui a été corrigée dans la dernière source, mais aucune nouvelle version n'a été compilée pour windows.

je mettrais mon vote avec PySide (licence plus flexible pour les options commerciales) sur PyQt et PySide / PyQt sur wxPython simplement parce que je pense que l'outil de design D'interface graphique est meilleur! Possibilité de créer et d'éditer rapidement L'interface graphique graphiquement (et indépendamment de votre code d'application) est un gain de temps énorme.


mise à jour: en fait, je recommande PyQt plutôt que PySide maintenant pour des raisons de stabilité et de soutien à long terme. Le développement de PySide est en retard, il y a très peu de gens qui corrigent les bugs et personne ne travaille sur le support pour Qt 5.

14
répondu three_pineapples 2018-04-17 23:26:24

PyQT in Windows

PyQT in Windows

PyGTK

PyGTK

PyQT in KDE

PyQT in KDE

  1. PyQT in Windows
  2. PyGTK+3
  3. PyQT in KDE

donc si vous allez avec PyQT la conception de votre application sera différente sur les différents systèmes d'exploitation et les environnements de bureau. Je N'ai pas Macintosh donc ne peut pas fournir une image comment va chercher ma demande. C'est une de mes applications écrites en PyQT et PyGTK+3. Gardez à l'esprit que le design restera comme C'est le cas avec PyGTK+3, donc il n'y aura pas de différences comme C'est le cas avec PyQT. Il est certainement le plus facile à apprendre, car il ya un programme Glade qui vous aidera à construire votre conception sans passer, même une minute de codage à la main. Mais avec PyQT, vous pouvez affiner la conception de l'application et cela ne vous forcera pas à écouter les bogues.

10
répondu HexSFd 2017-04-10 20:08:27