GUI-Toolkit für Python

Soong

nicht mehr wegzudenken
Hallo zusammen,
ich hab mir etwas Python beigebracht und überlege jetzt welches GUI-Toolkit ich mir am besten näher ansehen und lernen sollte. Ich weiß, die Meinungen gehen da weit auseinander, aber das ist auch einer der Gründe, aus denen ich hier die Frage stelle und nicht direkt in einem Python-Forum, denn hier sind vielleicht auch mehr Leute unterwegs, die nur ab und zu mit Programmierung zu tun haben. Außerdem gebe ich noch ein paar Kriterien und Einschränkungen vor um es einfacher zu machen.

Toolkits, die für mich in Betracht kommen:

  • wxPython
  • PyGTK
  • PyQt

Kriterien:

  • einfaches, möglichst Python-nahes Programmieren
  • möglichst natives Aussehen unter Gnome, KDE, Windows und OSX
  • gute Dokumentation

Ein paar Hinweise hab ich schon, aber die behalte ich mal für mich bis hier ein paar Vorschläge eintrudeln, damit ich das nicht schon von vornherein zu sehr beeinflusse.

Soong
 

QuHno

Außer Betrieb
Das (ehemals) Trolltech QT ist im Profibereich sehr weit verbreitet, man denke an KDE, Opera, Google Earth, Adobe Photoshop Album, VirtualBox und viele andere Programme, die darauf aufsetzen. Die Doku ist sehr gut und man kann es ruhigen Gewissens als ausgereift bezeichnen.

GTK+ (nicht das originale GTK, das war was anderes ;)), sprich: "GIMP ToolKit" ist zwar auch ganz nett, ist aber in meinen Augen ein wenig "Geeky" und ist relativ stark in der UNIX Welt verhaftet - allerdings hat es dafür im Gegenzug sehr gute und ausgereifte Bilbiotheken für die unterschiedlichsten Programmiersprachen und mittels der Display Engines kann man relativ leicht pseudo native Oberflächen erstellen. Die Doku ist ebenfalls vollständig und sehr gut und es ist schon "ewig" mit Python verbandelt ...

QT läuft am besten unter KDE (wen wundert's? :ROFLMAO:) GTK+ läuft am besten unter Gnome - was aber letztendlich nichts zu sagen hat, da man die passenden Libs schließlich überall einbinden kann ;)

Mit wxPython habe ich mich noch nicht beschäftigt.

Wie nativ letztendlich Deine Anwendungen aussehen und wie nativ sie sich anfühlen werden, hängt aber ausschließlich von Deiner Arbeit ab und wie gut Du die jeweiligen API Mechanismen der einzelnen Betriebsysteme kennst und ausnutzen kannst.
 

Soong

nicht mehr wegzudenken
Ok, vielen Dank schon mal für die Informationen! Vielleicht schreib ich jetzt doch mal, was ich mir schon für Gedanken gemacht habe. ;)

wxPython gefällt mir deswegen, weil man damit auf Gtk+-basierten Plattformen, Windows und OSX native Oberflächen erstellen kann. KDE hätte da etwas das Nachsehen, aber die QtGtk-Engine ist inzwischen recht gut, so dass das nicht so stark ins Gewicht fällt. Allerdings habe ich gehört, dass die Programmierung oft recht C-artig aussieht. Angeblich soll es auch recht instabil sein auf manchen Plattformen. Weiß also jemand mehr zu den Vor-/Nachteilen von wxPython?

PyGTK ist anscheinend vom Programmieren her am angenehmsten, weil es eben sehr pythonartig bleibt. Das hab ich aber nur gelesen, wenn das jemand bestätigen oder verneinen kann, wäre das gut. Nachteil hier ist, dass es unter OSX und Windows etwas fremdartig aussieht (besonders OSX, Windows geht noch so) und unter KDE die gleichen Einschränkungen gelten wie bei wxPython (also QtGtk).

Dann bleibt noch PyQT, was inzwischen auch nativ auf allen Plattformen außer Gtk+ läuft und angeblich auch sehr stabil. Nachteile, über die ich gelesen habe, die ich aber so nicht bestätigen kann, ist die sehr unpythonartige Programmierung. Also auch hier wären mehr Informationen hilfreich.

Noch eine allgemeinere Frage zwecks Aussehen: Es gibt auch eine Engine für Gtk+, die Qt-Anwendungen eher wie Gtk+-Anwendungen aussehen lässt. Weiß jemand ob die gleich gut/besser/schlechter als die QtGtk-Engine ist, die das Umgekehrte tut? Das würde zumindest helfen zwischen wxWindows und PyQt zu entscheiden. Oder ist eventuell ein Qt-Backend für wxWidgets geplant?
 

Soong

nicht mehr wegzudenken
Also vielen Dank nochmal für die Informationen!

Die Entscheidung ist jetzt (vorerst) zugunsten von PyQt ausgefallen, weil es einerseits wohl sehr stabil auf allen Plattformen ist (d.h. natürlich eingentlich Qt) und andererseits dann aber auch, weil ich mir QGtkStyle nochmal genauer angeschaut hab und da anscheinend nicht nur Gtk+ zum Zeichnen aller Oberflächen verwendet wird, sondern anscheinend auch Dateidialoge, Druckerdialoge usw. von Gtk+ aufgerufen werden. Ich könnte das teilweise umgekehrt zwar auch haben mit QtGtk haben, aber dann hätte ich nicht das native aussehen auf den anderen Plattformen.

Mal sehen wie gut ich letztendlich damit klar komme.
 
Oben