2009-11-22 8 views
8

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 kann keine guten Vergleiche finden.Wird PyGTK oder PyQT bevorzugt, um GTK-native Python-Apps zu erstellen?

Was denkst du? Produzieren beide nativ aussehende Widgets auf einem GNOME-System? Ist einer einfacher zu benutzen als der andere? Jede Meinung wäre nett.

Sorry für die subjektive Frage.

Antwort

11

Ich habe relativ 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 Plattformlösung.

5
  1. Die PyGTK-Anwendung sieht auf einem Gnome-System systematischer aus. Die PyQt-Anwendung wird auf einem KDE-System systemeigener aussehen.
  2. Wie ich gefunden habe PyGTK haben bessere Dokumentation als PyQt.
  3. Es wird die gleiche Zeit dauern, um ein Programm auf PyQt und PyGTK zu schreiben.
+0

Keine Präferenz für den tatsächlichen Code/Syntax von einem über den anderen? –

+1

In beiden Fällen wird es durch Python-Code und Python-Syntax. :) – demas

1

Meiner Erfahrung nach 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 sich ständig ändert und bei älteren Distributionen bricht.

PyQT hat QTCreator, der ein großartiger GUI-Designer ist. PyGTK hat Glade3, das 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 Wahl, wirklich. Aber wenn Sie Ihre Anwendung richtig gestalten, sollte die Schnittstelle irrelevant sein; Sie könnten Ihre App mit mehreren Schnittstellen entwerfen ...

1

Meiner Meinung nach verwenden PYQT als definitiv überlegen aus ein paar Gründen. 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 ist es einfach zu bedienen und macht Sie nicht ständig nachschauen, um herauszufinden, warum Sie nicht Standard-Code verwenden können.

+0

Variablennamen? Du meinst Typen wie 'Gint'? Eigentlich müssen Sie diese nicht verwenden. – ptomato