WxPython vs PyGTK?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Nocta
User
Beiträge: 290
Registriert: Freitag 22. Juni 2007, 14:13

Hallo.
Ich habe vor, mich in der nächsten Zeit ein wenig mit GUIs zu beschäftigen, mir fehlt eben nur noch das richtige GUI-Toolkit ;)
Ich hab mich mal ein wenig schlau über die Vor/Nachteile der einzelnen GUI-Toolkits gemacht:
Tkinter wird irgendwie immer bemängelt, daher schließe ich es erstmal aus.

Hauptsächlich hab ich mich dann über die beiden großen Konkurrenten PyGTK und wxPython informiert. Qt hab ich mal außen vor gelassen, weil mir das auch mal beim kurzem Antesten unter C++ nicht so gefallen hat, wobei meine Meinung nichts Wert ist, weil ich einfach keine Ahnung von GUIs hab ;)
Ich fasse einfach mal alle Vor/Nachteile auf, die ich so beim durchlesen von teilweise 2 Jahre alten Diskussionen mitbekommen habe, ihr könnt mich dann ja entsprechend korrigieren bzw. ergänzen ;)

PyGTK:
  • *Sieht nur unter Unix/Linux nativ aus, weil es eben die GTK-Oberfläche benutzt, deshalb ist es zB unter Windows ein wenig "strange", merk ich auch persönlich zB bei Gimp
    *Die Dokumentation ist sehr gut
    *Macht unter MacOS probleme (?)
    *GTK muss installiert sein
wxPython:
  • *"native look and feel", wie es immer genannt wird, also es passt sich sozusagen dem Betriebssystem an
    *GTK muss nicht installiert sein, nur unter Linux AFAIK, was aber zum standard gehören dürfte
    *Die Doku ist schlecht oder zumindest schlechter als die GTK-Doku
Mehr fällt mir grad nicht ein, ich hab aber sicher 1 oder 2 Sachen vergessen, die mir auch noch hätten einfallen sollen :p
Dann hab ich noch davon gelesen, dass es wiederum ein Toolkit für WxPython gibt (oder so ähnlich), das sich Wax nennt (da wurde auch noch ein anderes genannt, kann mich aber nicht mehr erinnern), was wxPython an sich wieder vereinfacht/verbessert. Keine ahnung wie es da bei GTK aussieht.
Was könnte man mir empfehlen?
Oder ist das einfach nur eine reine Geschmacksfrage?
Achja, sorry, wenn ich hier wieder eine Art glaubenskrieg ausgelöst hab :)

PS: @Suchfunktion, ich hab ja schon ewig gegooglet, um mir eine Meinung von beidem bilden zu können, aber kein Thread hat mir jetzt klipp und klar gesagt, aus dem und dem Grund solltest du das und das Toolkit benutzt. Vielleicht muss echt jeder für sich die Vor/Nachteile abwägen, aber ich frag trotzdem mal ;)
Danke schonmal,
Nocta
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Nocta hat geschrieben:PyGTK: *Sieht nur unter Unix/Linux nativ aus, weil es eben die GTK-Oberfläche benutzt, deshalb ist es zB unter Windows ein wenig "strange", merk ich auch persönlich zB bei Gimp
Das ist so. Wobei ich finde das GTK unter Windows nicht viel fremder wirkt als eine WX Applikation. Und in einem GTK Umgebung passt es dafür perfekt herein. Mir wurde schon gesagt das die GUIs welche ich mit .NET/Winforms bauen nach GTK aussehen *g*
Nocta hat geschrieben:*Macht unter MacOS probleme (?)
Mühsam aber möglich. Siehe Lanshark Screenshots ;)
Nocta hat geschrieben:*GTK muss installiert sein
Nur bedingt, du kannst es auch einfach zu deiner Applikation dazu "packen". So habe ich das bei den Windows Binaries für Lanshark gemacht. Und auf einem Grafischen GNU/Linux System ist es fast immer installiert. Meistens auch gleich pygtk. ;)
Nocta hat geschrieben:wxPython: *"native look and feel", wie es immer genannt wird, also es passt sich sozusagen dem Betriebssystem an
Es verwendet die entsprechenden Widgets - wo möglich. Das ist aber noch nicht alles, es gibt noch diverse Dinge an denen du sehen kannst ob eine Applikation für Windows oder Gnome/KDE o.ä. geschrieben wurde als nur die Widgets. Beispiele: Button Reihenfolge, die Namen von Elementen (Unter Windows heissen die meisten Buttons einfach "Ok" das die Gnome HIG schlagen vor sprechende Verben zu verwenden) usw. Ich habe mit wx die Erfahrung gemacht das es nirgends wirklich zuhause ist, was ich als Negativ empfinde.
Nocta hat geschrieben:*GTK muss nicht installiert sein, nur unter Linux AFAIK, was aber zum standard gehören dürfte
Richtig.
Nocta hat geschrieben:*Die Doku ist schlecht oder zumindest schlechter als die GTK-Doku
Bedingt. Ich würde sagen das die Menge an verfügbarer Dokumentation vergleichbar ist.
Nocta hat geschrieben:Mehr fällt mir grad nicht ein, ich hab aber sicher 1 oder 2 Sachen vergessen, die mir auch noch hätten einfallen sollen :p
Ich hatte mit wx bei weitem mehr Probleme die in einem Segfault resultiert haben. Das mag aber auch daran liegen das ich kein Vorwissen hatte. GTK kannte ich bereits etwas von C.[/quote]
Nocta hat geschrieben:Keine ahnung wie es da bei GTK aussieht.
Auch da gibt es einige solcher Libraries. Unter anderem bin ich selbst daran eine Sammlung von Helpern zu schreiben. Wobei mir während der Entwicklung dieser sehr oft auffällt das es auch mit GTK einen "schönen"/kurzen weg gibt. Man muss ihn nur kennen ;)
Nocta hat geschrieben:Was könnte man mir empfehlen?
Oder ist das einfach nur eine reine Geschmacksfrage?
Glaubensfrage *g* Wie du vermutlich aus meinen Antworten herauslesen kannst bevorzuge ich GTK. Ich denke der springende Punkt ist ob du primär Windows oder GNU/Linux unterstützen willst. Auf Windows ist Wx vermutlich etwas besser dran. Auf GNU/Linux ist PyGTK meiner Meinung nach klar überlegen ;)

So und nun warte ich darauf das Gerold seine rede für WX halten wird :)
Zuletzt geändert von veers am Donnerstag 18. Oktober 2007, 09:10, insgesamt 1-mal geändert.
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo Nocta!

Willkommen im Python-Forum!
Nocta hat geschrieben:*Die Doku ist schlecht oder zumindest schlechter als die GTK-Doku
Nimmt man das hervorragende Buch "wxPython in Action" mit dazu, dann kann GTK nicht mehr mit halten. Man sollte wxPython wirklich nur mit diesem Buch lernen. Da wird von Anfang an genau erklärt warum wxPython was wie macht. Und das ist wichtig.
Nocta hat geschrieben:Wax
Wax war ein guter Ansatz, aber es hat sich niemand um die Weiterentwicklung gekümmert. Deshalb ist Wax gestorben. Aber ehrlich -- man braucht es nicht unbedingt.
Nocta hat geschrieben:Was könnte man mir empfehlen?
Das ist ganz einfach:

Willst du primär für Linux-Gnome Programme schreiben, die dann auch unter Windows laufen sollen, bist du mit GTK besser bedient.

Willst du primär für Windows Programme schreiben, die dann auch unter Linux laufen sollen, dann bist du mit wxPython besser bedient.

Schleichwerbung: Willst du ein Toolkit, das dem Programmierer mehr unter die Arme greift (egal ob Linux oder Windows oder Mac), dann empfehle ich persönlich wxPython. :-)

Installiere auf jeden Fall GTK, pyCairo und pyGTK und probiere die GTK-Demo aus. Dann lies dir die ersten paar Seiten des Tutorials durch und probiere es mal aus. http://www.pygtk.org/pygtk2tutorial/ch- ... arted.html

Und dann installierst noch wxPython und die wxPython-Demo und probierst die ebenfalls aus. Dann würde ich mir noch das Lesebeispiel von wxPython in Action durchlesen. http://www.manning.com/rappin/
Hier auch die Beispiele ausprobieren.

Danach, also nach ein paar Stunden mit jedem Framework, weißt du was du nehmen wirst.

mfg
Gerold
:-)
Zuletzt geändert von gerold am Mittwoch 17. Oktober 2007, 23:27, insgesamt 1-mal geändert.
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

veers hat geschrieben:So und nun warte ich darauf das Gerold seine rede für WX halten wird :)
...erledigt! :mrgreen:
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

gerold hat geschrieben:Das ist ganz einfach:

Willst du primär für Linux-Gnome Programme schreiben, die dann auch unter Windows laufen sollen, bist du mit GTK besser bedient.

Willst du primär für Windows Programme schreiben, die dann auch unter Linux laufen sollen, dann bist du mit wxPython besser bedient.

...

Installiere auf jeden Fall GTK, pyCairo und pyGTK und probiere die GTK-Demo aus. Dann lies dir die ersten paar Seiten des Tutorials durch und probiere es mal aus. http://www.pygtk.org/pygtk2tutorial/ch- ... arted.html

Und dann installierst noch wxPython und die wxPython-Demo und probierst die ebenfalls aus. Dann würde ich mir noch das Lesebeispiel von wxPython in Action durchlesen. http://www.manning.com/rappin/
Hier auch die Beispiele ausprobieren.

Danach, also nach ein paar Stunden mit jedem Framework, weißt du was du nehmen wirst.
Dem kann ich so voll zustimmen :)
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Nocta
User
Beiträge: 290
Registriert: Freitag 22. Juni 2007, 14:13

Okay, danke für die Antworten erstmal ;)
Ich weiß noch nicht, ob's mehr für Linux oder mehr für Windows sein wird, deshalb muss es bei beidem einigermaßen respektabel aussehen ;)
Aber wie ich das hier so lese, tut das sowohl wxPython als auch PyGTK.
Dann spricht allerdings gegen wxPython, dass das Buch so wichtig ist (bzw von dir so empfohlen wird :D), was ja auch wieder Geld kostet.

Aber wenn's 'ne Glaubensfrage ist, werd ich wohl mal eurem Rat folgen und mich mit beidem genug beschäftigen, um mir eine eigene Meinung bilden zu können ;)
Wobei: Wenn keines wirklich besser oder schlechter ist, würde es doch auch reichen, wenn ich einfach eine Münze werfe, dann brauch ich nicht beides stundenlang anzutesten :D Ja da spricht die Faulheit :p
Nein, ich schau mir beides mal an ;)
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Nocta hat geschrieben:Dann spricht allerdings gegen wxPython, dass das Buch so wichtig ist (bzw von dir so empfohlen wird :D), was ja auch wieder Geld kostet.
Ein gutes Buch kann dir bei weitem mehr Zeit sparen als du brauchen würdest um das Geld zu verdienen was es Kostet. Gut in Deutschland mit 1€ Jobs mag das anders aussehen *g*
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Nocta
User
Beiträge: 290
Registriert: Freitag 22. Juni 2007, 14:13

veers hat geschrieben:
Nocta hat geschrieben:Dann spricht allerdings gegen wxPython, dass das Buch so wichtig ist (bzw von dir so empfohlen wird :D), was ja auch wieder Geld kostet.
Ein gutes Buch kann dir bei weitem mehr Zeit sparen als du brauchen würdest um das Geld zu verdienen was es Kostet. Gut in Deutschland mit 1€ Jobs mag das anders aussehen *g*
Bist du Österreicher oder Schweizer? :p
Okay, ein Buch kann echt viel Zeit sparen :) Wie teuer wär das denn ungefähr? Jaja, ich weiß, ich kann auch bei Amazon o.Ä selbst schaun.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Nocta hat geschrieben:Bist du Österreicher oder Schweizer? :p
Wie an seiner Domain (die er nicht richtig im BBCode geschrieben hat :P) zu erkennen ist er Schweizer.
Nocta hat geschrieben:Okay, ein Buch kann echt viel Zeit sparen :) Wie teuer wär das denn ungefähr? Jaja, ich weiß, ich kann auch bei Amazon o.Ä selbst schaun.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Und falls du die Free Software Foundation Europe gleich mit unterstützen willst, kannst du das Buch auch bei Bookzilla kaufen. Die gesamte Provision geht als Spende an die FSFE, für dich ist es bei Büchern, die der Buchpreisbindung unterliegen, nicht teurer.
dansch
User
Beiträge: 6
Registriert: Dienstag 4. September 2007, 21:19

Eine gute Website um eine günstige Bezugsquelle von englischen Büchern herauszufinden ist bookbutler.com.

Hier der Link für das Buch:
http://us.bookbutler.com/do/bookCompare ... In=de&zip=

Die Website macht einen Preisvergleich mit Porto bei zig Onlinehändlern.

Grüße,
Daniel

P.S.: Ich habe das Buch bei dem Herausgeber als Ebook (PDF) gekauft. Preis dafür ist 25 USD. Auf der Website (Manning.com) sind dann auch 2 Probekapitel zum Antesten. http://www.manning.com/rappin/
"Just because I don't care - doesn't mean I don't understand."
Homer J. Simpson
capsule5
User
Beiträge: 28
Registriert: Sonntag 10. Dezember 2006, 18:49

Nocta hat geschrieben:Dann spricht allerdings gegen wxPython, dass das Buch so wichtig ist (bzw von dir so empfohlen wird :D), was ja auch wieder Geld kostet.
Suche mal mit Google nach "wxPythonInAction.pdf".
Benutzeravatar
C4S3
User
Beiträge: 292
Registriert: Donnerstag 21. September 2006, 10:07
Wohnort: Oberösterreich

Suche mal mit Google nach "wxPythonInAction.pdf".
Legal?
Gruß!
dansch
User
Beiträge: 6
Registriert: Dienstag 4. September 2007, 21:19

Nocta hat geschrieben:Dann spricht allerdings gegen wxPython, dass das Buch so wichtig ist (bzw von dir so empfohlen wird :D), was ja auch wieder Geld kostet.
Na ja, manchmal kommt man halt ohne Bücher nicht aus, um in ein Thema systematisch eingeführt zu werden. Python wirst Du wahrscheinlich auch aus einem Buch gelernt haben, oder?

Und 25 USD (17,53 EUR) für ein ebook ist auch nicht zu teuer aus meiner Sicht.

Zu dem Googeln nach dem PDF. Sicherlich findet man heutzutage alles im Internet. Das ist aber wahrscheinlich illegal (je nach Wohnsitz) und jeder sollte es mit sich selbst ausmachen, ob er das will. Ich habe es zumindest nicht bereut mir das "wxPython in Action" - Buch gekauft zu haben. Gerade bei einer systematischen Einführung in GUI-Programming sollte man nicht sparen. Für mich, war das Programmieren der GUI bisher sehr schwierig. Es unterscheidet sich doch deutlich von dem normalen Programmieren.

Grüße,
Daniel
Zuletzt geändert von dansch am Donnerstag 18. Oktober 2007, 13:35, insgesamt 1-mal geändert.
"Just because I don't care - doesn't mean I don't understand."
Homer J. Simpson
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

Ich persönlich bin aus zwei Gründen mit PyGTK recht glücklich:
  • sieht gut aus unter Ubuntu (mein Desktop)
  • Glade
Auch wenn man das sicher wieder Kontrovers sehen kann, aber ich empfinde es als irgendwie unzeitgemäß, GUIs per Programmcode zusammenzustückeln. Glade ist mir da insofern recht lieb, als das ich nicht das Gefühl hab, dass es mir im Weg steht.
WxGlade gibts wohl auch, damit kam ich allerdings nicht zurecht, und damals machte es auch noch einen eher unfertigen Eindruck.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

dansch hat geschrieben:Zu dem Googeln nach dem PDF. Sicherlich findet man heutzutage alles im Internet. Das ist aber illegal und jeder sollte es mit sich selbst ausmachen, ob er das will.
Soweit ich das weis ist der download von Urheberrechtlich geschütztem Material zumindest in der Schweiz _legal_ ;)
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
Nocta
User
Beiträge: 290
Registriert: Freitag 22. Juni 2007, 14:13

dansch hat geschrieben:Na ja, manchmal kommt man halt ohne Bücher nicht aus, um in ein Thema systematisch eingeführt zu werden. Python wirst Du wahrscheinlich auch aus einem Buch gelernt haben, oder?

Und 25 USD (17,53 EUR) für ein ebook ist auch nicht zu teuer aus meiner Sicht.
Python hab ich größtenteils aus diesen kostenlosen Online-Büchern gelernt, ich hatte vorher ja schon Programmierkentnisse, also war es kein Problem.
Die PDF-Datei ist aber wirklich um einiges Günstiger, da könnte man sich das überlegen ;)
Naja, noch eine Frage, da hier jemand Glade angesprochen hat, wie ist das mit wxGlade? Brauchbar?
Ich werd mir dann jedenfalls demnächst mal Zeit nehmen, um mir beides anzuschauen, dann meld ich mich nochmal ;)
Ich hab mir aber mal die wxPython-Demos usw angeschaut, ist schon cool und der Code sieht gar nicht mal so kompliziert aus :) Wobei ich jetzt nicht sagen will, dass das bei GTK schlechter ist, ich hab schlicht keine Ahnung, deshalb werd ich's mir auch anschaun :p
Antworten