Seite 1 von 2

Welche GUI...

Verfasst: Donnerstag 11. November 2004, 23:22
von jens
Ich weiß, die Frage kommt wohl recht häufig ;)

Ich hätte gern gewußt, welche GUI empfehlenswert ist, wenn sie ganz gut mit px2exe funktionieren soll?

Und am besten noch eine GUI für die es GUI-Editoren zum erstellen gibt :)

Hier ist für Tkinter schon ein Anfang gemacht worden:
http://python.sandtner.org/viewtopic.php?t=1751

Aber gibt es schon fertige Lösungen?

Verfasst: Freitag 12. November 2004, 06:20
von mawe
Hi!
jens hat geschrieben: Hier ist für Tkinter schon ein Anfang gemacht worden:
...
Ein etwas neueres Projekt von rayo findest Du hier. Ist aber noch nicht ganz fertig (vermutlich auch weil ich rayo aus Zeitgründen beim Programmieren etwas im Stich gelassen habe :oops:).

Gruß, mawe

Verfasst: Freitag 12. November 2004, 06:53
von CM
Hi

Tkinter kenne ich nicht wirklich (hatten wir schon), aber für wxPython gibt es dies:

Boa-Constructor ist wohl das Bekannteste.
http://boa-constructor.sourceforge.net/

und

http://wxglade.sourceforge.net/
http://pythoncard.sourceforge.net/
http://www.coordinadora.com/fernandoe/pythonbuilder/ <= der Letzte ist aber noch in Entwicklung

Erfahrungsberichte kann ich leider nicht bieten: Ich denke nämlich gerade darüber nach, was wohl für mich am besten ist. Hat jemand Empfehlungen? (Schließe mich also der Frage von jens so halb an.)

Gruß,
Christian

Verfasst: Freitag 12. November 2004, 11:29
von mitsuhiko
Ich nehme immer wxPython, weil es mehr nach dem jeweiligen Betriebsystem aussieht, bei Windows nach WIndows, bei MacOS nach MacOS und bei XP nach XP.
Auserdem arbeitet es super mit py2exe zusammen und es gibt eine rießige Demo mit allen Funktionen und ist sehr Einsteigerfreundlich.
Den BOA Constructor hab ich mir runtergeladen, aber ich mach die GUI lieber mit dem normalen Editor.
Ist aber Einstellungssache.

Verfasst: Freitag 12. November 2004, 18:22
von Leonidas
Einsteigerfreundlich würde ich wx nicht nennen, denn ich bin oft auf scheinbar unlösliche Probleme gestossen, was aber nicht heißt das wx etwas nicht könnte. Aber unter Linux würde ich viel lieber PyGTK nehmen, das finde ich irgendwie einfacher zu programmieren, aber unter Windows ist das mit der Runtime und der Performance problematisch. Mit wx kannst du noch XRCed verwenden, das ist sogar mitgeliefert.
Boa will irgendwie nicht mehr mit dem 2.5 wxPy, zumindest nicht die version die ich habe.

Verfasst: Freitag 12. November 2004, 21:58
von mitsuhiko
Leonidas hat geschrieben:Einsteigerfreundlich würde ich wx nicht nennen, denn ich bin oft auf scheinbar unlösliche Probleme gestossen, was aber nicht heißt das wx etwas nicht könnte.
Ich geb zu, ich programmier noch nicht lange mit Python und wxPython, aber wirkliche Probleme habe ich noch nicht mitbekommen.
Es ist auf alle Fälle leichter zu programmieren, als eine Java GUI.

Verfasst: Freitag 12. November 2004, 23:05
von Leonidas
blackbird hat geschrieben:Ich geb zu, ich programmier noch nicht lange mit Python und wxPython, aber wirkliche Probleme habe ich noch nicht mitbekommen.
Es ist auf alle Fälle leichter zu programmieren, als eine Java GUI.
Das mag allerdings sein. Aber ich fand es viel enifacher ein kleines GUI Programm mit PyGTK zu bauen als mit wxPy, da man bei wxPy wxFrames machen muss und wxPanels und auch noch wxApps. Und Sizer mag ich ganz besonders gerne, die gehen auch nur in einigen Releases richtig. Um es klar zu stellen: ich finde wx technisch gut, aber irgendwie ist es kompliziert.

Verfasst: Samstag 13. November 2004, 11:31
von rayo
mawe hat geschrieben:Hi!
jens hat geschrieben: Hier ist für Tkinter schon ein Anfang gemacht worden:
...
Ein etwas neueres Projekt von rayo findest Du hier. Ist aber noch nicht ganz fertig (vermutlich auch weil ich rayo aus Zeitgründen beim Programmieren etwas im Stich gelassen habe :oops:).

Gruß, mawe
Nönö das Update ist nicht so wichtig. Hab das ganze Programm umgeschrieben, weil es ein ziemliches Chaos geworden ist, jetzt ist es schön mit Polymorphie gemacht und somit für mich viel einfacher.

Hatte in den letzten 2 Wochen ebenfalls keine Zeit daran zu Arbeiten, jetzt sollte dann bald eine neue Version kommen

Gruss

Verfasst: Samstag 13. November 2004, 18:38
von jens
Also so, wie sich das nun anhört, ist wxPython nicht schlecht, aber auch nicht ganz einfach...

Nur, wenn es Problemlos mit py2exe funktioniert und es auch für größere Projekte taugt (was bei TKinter nicht der Fall ist?), dann ist es wohl meine erste Wahl...

Ich hab schon kleine Sample-Codes gesehen... Sieht echt umfangreich aus, deswegen ist ein GUI-Builder wohl echt nicht schlecht... Kann jemand vielleicht zu den drei (Boa, wxGlade und PythonCard) noch mehr schreiben? Vor- und Nachteile?

Verfasst: Samstag 13. November 2004, 19:11
von Leonidas
PythonCard ist kein traditionelle GUI Builder sondern eine Zwischenebene. Damit wird die wxPython entwicklung massiv einfacher, allerdings kannst du auch nur die von PythonCard implementierten Dinge nutzen.
wxGlade kann dir GUIs zusammenklicken, die du dann als .py oder .xml dateien speichern kannst.
XRCed ist auch ein editor der solche Dateien bearbeiten kann.
Boa ist eine IDE die ich nie zum laufen bekommen habe.

Verfasst: Samstag 13. November 2004, 21:18
von mitsuhiko
Leonidas hat geschrieben:Boa ist eine IDE die ich nie zum laufen bekommen habe.
Das hab ich auch gedacht, aber der erste Start dauerte bei mir eine Stunde.
Aber dann geht es schnell.
Boa kann ich nur empfehlen, werd ich jetzt sicher einmal verwenden.

Verfasst: Samstag 13. November 2004, 21:37
von Leonidas
blackbird hat geschrieben:Das hab ich auch gedacht, aber der erste Start dauerte bei mir eine Stunde.
Aber dann geht es schnell.
Boa kann ich nur empfehlen, werd ich jetzt sicher einmal verwenden.
Ok, mal gucken. Die haben jetzt eine neue Version released, seh ich grad, endlich. Vielleicht geht die mit neueren wx Versionen.
Ich nutze zum Programmieren eigentlich nie IDEs (nur SciTE), aber SPE hat mir gefallen, bis auf das er voll von Blender war. Hat jemand diesen IBM Artikel über Python und Eclipse gelesen und das getestet?

Verfasst: Dienstag 16. November 2004, 23:04
von jens
Leonidas hat geschrieben:Ich nutze zum Programmieren eigentlich nie IDEs (nur SciTE)
Jep, Ich bin auch auf SciTE gestoßen und nutze den nur... Jedoch hab ich Screenshots anderer Editoren gesehen, bei den man direkt Hilfestellung zu einem Befehl bekommt... (Das kenne ich noch vom TurboBASIC oder war es PowerBASIC???)
Also so ein Kontext-Hilfesystem ist evlt. Hilfreich... Gibt es das evtl. für SciTE als Plugin oder sowas???


Ansonsten hab ich mir gerade die DEMOs bei wxPython angeschaut... Ich denke damit ist man für alles zukünftige gewappnet...
Bevor ich einen GUI-Editor nehme (die ja alle von euch als noch verbesserungswürdig beschrieben wurde) werde ich erstmal aus den riesigen fundus der Samples versuchen mir das richtige für mich abzuschauen...

Verfasst: Mittwoch 1. Dezember 2004, 19:17
von jens
Hab nun ein wenig weiter gemacht... Ich denke doch, ein GUI-Buildner ist nicht schlecht... Ist halt ähnlich wie HTML im Notpad zu erstellen ;)

wxGlade macht schon mal einen netten eindruck... Doch gefällt mir es nicht so ganz, das man in den Generierten *.py Dateien die funktion einfrickel soll... Ich dachte das könnte man gut trennen...

Boa Constructor verweigert die zusammenarbeit mit der neueren wxPython Version... Das ist schon mal echt doof... Da schau ich mir doch lieber mal SPE an...

Nachtrag1: Hmmm... SPE ist doch nur einfach ein aufgemotzter Editor, oder sehe ich da was falsch??? Benutzt ja auch nur wxGlade... Leider hab ich dazu kein Tutorial gefunden ;(

Verfasst: Mittwoch 1. Dezember 2004, 19:32
von Leonidas
jens hat geschrieben:wxGlade macht schon mal einen netten eindruck... Doch gefällt mir es nicht so ganz, das man in den Generierten *.py Dateien die funktion einfrickel soll... Ich dachte das könnte man gut trennen...
Nimm doch XRC statt py, mit XRCed.
jens hat geschrieben:Boa Constructor verweigert die zusammenarbeit mit der neueren wxPython Version... Das ist schon mal echt doof... Da schau ich mir doch lieber mal SPE an...

Nachtrag1: Hmmm... SPE ist doch nur einfach ein aufgemotzter Editor, oder sehe ich da was falsch??? Benutzt ja auch nur wxGlade... Leider hab ich dazu kein Tutorial gefunden ;(
BC funzt bei mir auch nicht, und SPE ist ein Editor bei dem mich das Blender zeug nervt.

Verfasst: Mittwoch 1. Dezember 2004, 19:47
von jens
Boa Constructor funktioniert bei mir schon... Aber das Prog ist entweder sehr Mächtig oder einfach nur zu vollgestopft... Ich weiß nicht wo ich da Anfangen soll... Zumal ich keinerlei Doku, HowTo oder Tutorial gefunden hab...

Verfasst: Mittwoch 1. Dezember 2004, 19:51
von Leonidas
Was jetzt bei mir das Hauptproblem ist, ist dass es wx noch nicht für Python 2.4 gibt...

Verfasst: Mittwoch 1. Dezember 2004, 19:54
von jens
Leonidas hat geschrieben:Nimm doch XRC statt py, mit XRCed.
Ach, so geht das.... Hmmmm... Kann man die XRC-Dateien in beiden Programmen beliebig hin und her schieben???

Edit: Ok, hab jetzt mit wxGlade ein kleines Test-Ding gemacht und mit XRCed geöffnet und nun???? Wie kann ich sagen, bei Button-Click Aktion XY Ausführen?

Verfasst: Mittwoch 1. Dezember 2004, 20:07
von Leonidas
Das musst du in deinem Python Code binden. XRC ist die wx Version von Glade XML Dateien. Ich kann dir mal ein Programm schicken, das XRC verwendet schicken, ich habe an dem Programm aber ewig nichts mehr gemacht, und habe auch in nächster Zeit nicht vor, denn ich plane seit langem etwas mit GTK+ zu schreiben.

Verfasst: Mittwoch 1. Dezember 2004, 20:13
von jens
Hab das gefunden:
http://wiki.wxpython.org/index.cgi/UsingXmlResources

Ist auch ein Beispiel dabei...

Wenn ich es jetzt richtig verstanden hab, ist wxGlade und XRCed zwei Editoren für die gleiche Sache... Also nicht als Ergänzung gedacht??? Von Wegen in wxGlade GUI basteln, als XRC exportieren und dann mit XRCed mit Python verheiraten...
Sondern man nimmt entweder wxGlade oder XRCed? - Ist das so richtig?


EDIT: hab mir den Link oben mal angeschaut... Also man muß noch einiges per Hand coden... Das ist mir ehrlich gesagt zu viel Arbeit :) Oder ist das Beispiel nur zu umständlich?
EDIT2: Ah! Hier die Antwort: http://wiki.wxpython.org/index.cgi/XrcStartingPoints ist ein wesentlich einfacheres Beispiel... :)