it-swarm.com.de

wxPython vs PyQt vs PyGTK: wann und was verwenden?

  • Benötigen Sie Ratschläge von Personen mit minimalen Vorkenntnissen im Gesundheitswesen, um GUI-Schnittstellen mit Python zu entwerfen.
  • Wann und was soll je nach Komplexität der Benutzeroberfläche gewählt werden?
  • Mit welchen GUI-Buildern können wir eine bessere Entwicklungsqualität erzielen?

Dies ist mein erstes GUI-Design, und ich habe es im Moment ohne GUI-Builder geschafft, da ich verstanden habe, dass ObjectListView der Wrapper für wx.ListCtrl keine einfache Fortschrittsanzeige enthalten muss oder Messelemente. (siehe Spalte "Upload Status" aus Bild).

Hinweis: ObjectListView verfügt in der .NET-Version über eine Fortschrittsanzeige, derzeit nicht in wx.Python.

P.S: Ich fand dieses wunderbare Python GTK + Full Stack Tutorial

enter image description here

39
user1630938

Ich bin mir nicht sicher, was Sie fragen. wxPython und pyQt/pyside sind wahrscheinlich auf allen Plattformen am einfachsten zu verwenden und sehen auf den meisten Betriebssystemen richtig aus. Ich weiß, dass wxPython speziell dafür entwickelt wurde, die nativen Widgets zu verpacken. Wenn Ihre App also nativ aussehen soll, ist wxPython der richtige Weg. Wenn Sie in der Lage sein möchten, Ihre App zu gestalten, ist PyQT oder pyGTK möglicherweise besser.

PyQt/PySide unterstützt Mobile bis zu einem gewissen Grad, was die anderen beiden nicht glauben. Wenn Sie vorhaben, für Mobilgeräte zu programmieren, sollten Sie diese Route wählen oder sich Kivy ansehen.

PyQt/PySide haben einen ziemlich mächtigen WYSIWYG-Editor. wxPython hat ein paar, aber ich glaube nicht, dass einer von ihnen alle Widgets von wx unterstützt, und ihre Unterstützung ist unvollständig. Das hat mich nicht aufgehalten, da ich sowieso alle meine Codierungen von Hand mache.

Wie üblich müssen Sie wahrscheinlich eine Menge Dokumentation lesen und jede einzelne ausprobieren, um festzustellen, welche am besten zu Ihrem Gehirn und Ihren Bedürfnissen passt.

23
Mike Driscoll

Verwenden Sie PyGTK nicht, wenn Sie plattformübergreifende Kompatibilität wünschen. GTK3 funktioniert noch nicht unter Windows (ich habe es zuletzt überprüft) und GTK2 hat einen schrecklichen Speicherverlust unter Windows, der in der neuesten Quelle behoben wurde, aber es wurde keine neue Version für Windows kompiliert.

Ich würde mit PySide (flexiblere Lizenz für kommerzielle Optionen) über PyQt und PySide/PyQt über wxPython abstimmen, nur weil ich denke, dass das GUI-Designer-Tool besser ist! Das schnelle Erstellen und Bearbeiten der grafischen Benutzeroberfläche (und unabhängig von Ihrem Anwendungscode) ist eine enorme Zeitersparnis.


Update: Eigentlich würde ich PyQt jetzt aus Stabilitätsgründen und zur langfristigen Unterstützung PySide vorziehen. Die PySide-Entwicklung ist ins Stocken geraten, es gibt nur sehr wenige Leute, die Fehler beheben, und niemand, der an der Unterstützung für Qt 5 arbeitet.

14

PyQT unter Windows

PyQT in Windows

PyGTK

PyGTK

PyQT in KDE

PyQT in KDE

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

Wenn Sie sich also für PyQT entscheiden, sieht das Design Ihrer Anwendung auf den verschiedenen Betriebssystemen und Desktop-Umgebungen unterschiedlich aus. Ich habe keinen Macintosh und kann daher kein Bild bereitstellen, wie meine Anwendung darin aussehen wird. Dies ist eine meiner Anwendungen, die in PyQT und PyGTK + 3 geschrieben wurden. Beachten Sie, dass das Design bei PyGTK + 3 unverändert bleibt, sodass es keine Unterschiede zu PyQT gibt. Es ist auf jeden Fall am einfachsten zu erlernen, da es ein Glade-Programm gibt, mit dem Sie Ihr Design erstellen können, ohne es eine Minute lang manuell zu codieren. Aber mit PyQT können Sie das Anwendungsdesign optimieren, ohne sich die Haare von Insekten zu reißen.

12
HexSFd