[Python-de] pyGtk und Umlaute in win32

Martin v. Loewis martin at loewis.home.cs.tu-berlin.de
Fri Mar 2 23:05:59 EST 2001


> Die Autoren in besagtem Buch Python2, Martin von Löwis und Nils
> Fischbeck schweigen sich im Grunde darüber aus, es klingt nur an,
> dass wxPython jedenfalls gut ist. Ich suche nach einer Erklärung,
> weil es mich verblüfft

Nils hat sich für die verschiedenen GUI-Bibliotheken interessiert und
immer die beschrieben, denen wir einige Chancen auf Nutzerinteresse
einräumen. In der ersten Auflage waren das Tkinter, Rivet, Wpy und
Pythonwin; jetzt eben Tkinter, PyGTK, Pythonwin und wxPython.

Viele Faktoren hängen davon ab, ob eine GUI-Bibliothek zum Erfolg
wird:
- wird die Bibliothek von ihren Entwicklern gewartet? Weil das nicht
  passiert ist, ist beispielsweise Rivet in der Versenkung verschwunden.
- funktioniert sie auf allen interessanten Plattformen gleich gut?
  Hier liegt eindeutig die Stärke von Tkinter, GTK beispielsweise lässt
  einiges zu wünschen übrig, Pythonwin funktioniert von Natur aus nicht
  portabel.
- Ist die Python-Integration in der Standardbibliothek enthalten? Dieses
  Glück hat wiederum nur Tkinter, allerdings nicht ohne Grund, denn:
- Wie aufwendig ist die Python-Integration, die ja zusätzlich zur
  Originalbibliothek gepflegt werden muss? pygtk kommt auf 18000 Zeilen
  C, _tkinter nur auf 2500. Wenn man bedenkt, dass alle Erweiterungsmodule
  *zusammen* nur 95000 Zeilen bilden, wären 20000 Zeilen schon ein
  ziemlicher Hammer.

Besonders in der letzten Frage hat wxPython schlechte Karten:
a) Es verwendet SWIG zur Integration, damit scheidet die Aufnahme in
   die Standardbibliothek schon mal aus.
b) Es ist doch recht gross: 12000 Zeilen SWIG, 110000 Zeilen C++ für
   GTK (auch ein Grund, es nicht in die Standardbibliothek
   aufzunehmen); 113000 Zeilen C++ für MSW; 7000 Zeilen Python
   (distutils hat 12000, die XML-Bibliotheken haben 2700)

Wenn man es erstmal installiert hat, ist natürlich die Frage der Größe
von untergeordneter Bedeutung.

Ein Punkt scheint mir noch wichtig: Python bietet *absichtlich* keine
Standard-GUI-Bibliothek. Das Beispiel von Java und AWT zeigt, dass man
mit so einer Bibliothek schnell auf die Nase fallen kann; Python lässt
den Nutzern die Wahl.

Ciao,
Martin



More information about the Python-de mailing list