Ich bin ein Webentwickler, der versucht, meine Füße nass zu machen, indem er eine kleine Desktop-App für Ubuntu in Python programmiert. Ich habe das Internet nach den Vor- und Nachteilen von PyGTK vs. PyQT abgesucht und finde keine guten Vergleiche.
Was denkt ihr? Produzieren beide nativ aussehende Widgets auf einem GNOME-System? Ist einer einfacher zu benutzen als der andere? Irgendwelche Meinungen wären nett.
Sorry für die subjektive Frage.
Ich habe ziemlich große Apps in PyGTK und PyQt geschrieben. Meine persönliche Meinung ist, dass PyQt überlegen ist, aber nicht so sehr, dass es sich lohnt, sich darüber Gedanken zu machen. Wenn Sie nur besorgt sind, Ubuntu zu unterstützen, dann verwenden Sie PyGTK; es wird ein besseres Aussehen und Gefühl geben. Wenn Sie der Meinung sind, dass Sie diese App auf andere Plattformen portieren möchten, verwenden Sie PyQt; PyQt ist mit Abstand die überlegene Plattformplattform.
Nach meiner Erfahrung gibt es, nachdem ich sowohl PyGTK- als auch PyQT-Apps erstellt habe, kaum Unterschiede auf der zugrunde liegenden Programmierseite. PyQT scheint in verschiedenen Varianten von Linux konsistenter zu sein, wo GTK ständig Änderungen an älteren Distributionen vornimmt.
PyQT hat QTCreator, was ein großartiger GUI-Designer ist. PyGTK hat Glade3, die besser wird, aber nicht so gut. Bis vor kurzem war Glade ein schlechter Witz. Wenn Sie GUIs in einem Editor zeichnen müssen, ist PyQT wahrscheinlich die bessere Wahl. Ansonsten würde ich mit PyGTK zum Programmieren gehen, weil die Online-PyGTK-Dokumentation ausgezeichnet ist.
Eine seltsame Sache, die ich gefunden habe, ist PyQT hat schlechte Unterstützung für dynamische Menüelement Rückrufe. Vielleicht habe ich es einfach nicht richtig benutzt, aber PyGTK ist im Vergleich etwas flexibler.
Es ist eine schwierige Entscheidung, wirklich. Aber wenn Sie Ihre Anwendung richtig gestalten, sollte die Schnittstelle irrelevant sein; Sie könnten Ihre App mit mehreren Schnittstellen gestalten ...
Meiner Meinung nach ist PYQT aus verschiedenen Gründen überlegen. Es gibt keine Sorgen mit Pixmaps, es gibt nur eine Bibliothek, die im selben Stil und mit denselben Konventionen kodiert ist. In pygtk müssen Sie bis zu 4 Bibliotheken lernen, die in einem anderen Stil codiert sind. Sie müssen GLIB-Konstanten zumindest wenn nicht auch GLIB-Variablennamen lernen, obwohl sie eine vollständige 1: 1-Vertauschung mit dem stdlib-C-Typ selbst sind, aber warum Standardtypen verwenden, die andere als Master Ihres Toolkits verwenden ziemlich nutzlose Spezialtypen, die dann auf alle anderen übertragen werden können. Gnome-Entwickler brauchen ein ernstes Aufwachen.
Gehen Sie mit PYQT einfach vernünftig und lassen Sie nicht ständig nachschauen, um herauszufinden, warum Sie keinen Standardcode verwenden können.