Hi,
ich habe ein Problem.
Nun will ich auch endlich mal intensiver in Gui Programmierung einsteigen auch wenn ich eher ein Freund der Console bin. Doch die meisten Leute wollen doch eine Grafische Oberfläche.
Ich brauche eine Gui die sowohl unter Linux als auch unter Windows einwandfrei läuft und gleich ausschaut.
Tkinter: Ich finde diese Gui eigentlich sehr toll und es ist die einzigste die einwandfrei auf Linux und Windows läuft. Allerdings schaut sie unter Linux dermaßen hässlich aus dass sie auf dieser Platform kaum einzusetzten ist.
WxPython: Überall wird es gelobt und es schaut auch ganz toll aus. Nur viele Funktionen wollen unter Linux nicht und unter Windows geht das ein oder andere auch nicht. Die Quellcodes der Dokumentation laufen bei mir auf beiden Systemen nicht. Nach einiger Zeit hab ich es wenigstens geschafft einfache WX Anwendungen auf Linux laufen zu bekommen. Doch wenn nichtmal die Doku funktioniert werde ich es mir kaum beibringen können.
PyGTK: Ich bin ein großer Fan von GTK. Ob es unter Linux funktioniert habe ich noch nicht probiert denn unter Windows hat es mir den letzten Nerv geraubt. Ich habe tausend Sachen installiert (Glade, gtk, pygtk etc.), doch das Modul "pygtk" findet er nie. Somit konnte ich absolut nichts ausprobieren.
PyQT: Auf Grund seiner KDE Wurzeln habe ich PyQT noch nicht ausprobiert. Hat jemand erfahrungen damit?
Andere Guis kenne ich nicht.
Kennt vielleicht einer noch eine gute?
Weis jemand wie ich eines meiner Probleme vielleicht beheben könnte oder hat einer selbiges?
Über ein bisschen Erfahrungsaustausch wär ich sehr dankbar denn als großer Fan von Python würde ich ungern auf andere Sprachen zurückgreifen müssen um Gui zu Programmieren.
Schöne Grüße
Miko
Welche Gui soll ich verwenden?
Danke für die schnelle Antwort.
Den Installer habe ich runtergeladen und mehrmals installiert. Die Installation ging einwandfrei allerdings findet er das Modul pygtk nicht.
Wenn ich gtk importieren möchte sagt er mir dass es kein Modul gobject gibt.
Somit kann ich weder gtk noch pygtk importieren!
Den Installer habe ich runtergeladen und mehrmals installiert. Die Installation ging einwandfrei allerdings findet er das Modul pygtk nicht.
Wenn ich gtk importieren möchte sagt er mir dass es kein Modul gobject gibt.
Somit kann ich weder gtk noch pygtk importieren!
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Geschmackssache, aber IMHO hast du auch recht.Miko hat geschrieben: Tkinter: Ich finde diese Gui eigentlich sehr toll und es ist die einzigste die einwandfrei auf Linux und Windows läuft. Allerdings schaut sie unter Linux dermaßen hässlich aus dass sie auf dieser Platform kaum einzusetzten ist.
Wo genau ist das Problem? Die Doku gibts IIRC auch als CHM-File, was auch unter Linux z.b. mit kchmviewer hervorragend anzusehen ist.WxPython: Überall wird es gelobt und es schaut auch ganz toll aus. Nur viele Funktionen wollen unter Linux nicht und unter Windows geht das ein oder andere auch nicht. Die Quellcodes der Dokumentation laufen bei mir auf beiden Systemen nicht. Nach einiger Zeit hab ich es wenigstens geschafft einfache WX Anwendungen auf Linux laufen zu bekommen. Doch wenn nichtmal die Doku funktioniert werde ich es mir kaum beibringen können.
Außerdem fand ich jetzt nicht, dass besonders viel unter Linux nicht funktioniert. Man muss eben ein Auge auf die Portabilität werfen, und kann nicht erwarten, dass alle Gimmicks auf allen Plattformen laufen.
Komisch. Ich habe damals nichts anderes machen müssen, als den Installer auszuführen (ich glaube, ich habe den von gladewin32 genommen), und schon hat PyGTK wunderbar funktioniert. Sieht zwar nicht total nativ aus, wie Qt oder WX, funktioniert aber gut.PyGTK: Ich bin ein großer Fan von GTK. Ob es unter Linux funktioniert habe ich noch nicht probiert denn unter Windows hat es mir den letzten Nerv geraubt. Ich habe tausend Sachen installiert (Glade, gtk, pygtk etc.), doch das Modul "pygtk" findet er nie. Somit konnte ich absolut nichts ausprobieren.
Gegen Qt 4.x sollte, da auf allen Plattformen freie Software, nichts einzuwenden sein. Ähnlich wie bei wx ist PyQt auch nur eine dünne Wrapperschicht um ein C++-Framework.PyQT: Auf Grund seiner KDE Wurzeln habe ich PyQT noch nicht ausprobiert. Hat jemand erfahrungen damit?
Naja Tkinter schaut aus wie eine Gui von vor 20 Jahren. Soviele wirds nicht geben denen das gefällt. Ich hab ja nichts dagegen aber wenn ich Programm programmier möcht ich nicht dass die Leute sie allein wegen dem Aussehen nicht benutzen.Geschmackssache, aber IMHO hast du auch recht.
Was ist IIRC und CHM?Wo genau ist das Problem? Die Doku gibts IIRC auch als CHM-File, was auch unter Linux z.b. mit kchmviewer hervorragend anzusehen ist.
Außerdem fand ich jetzt nicht, dass besonders viel unter Linux nicht funktioniert. Man muss eben ein Auge auf die Portabilität werfen, und kann nicht erwarten, dass alle Gimmicks auf allen Plattformen laufen.
Die Dokumentationen laufen unter Windows nicht allein schon weil sie das Modul run benötigen das aus irgend einem Grund auch nicht gefunden wird. Ich wollte mit einem Freund mal ein Programm machen der musste auch erst dran Rumbauen bis es unter Linux lief. Das was unter Linux läuft würd mir ja schon reichen aber die Dokus sollten schon auf beiden Plattformen laufen.
Glade ist doch nicht speziell für Python oder? Es gibt ja auch verschiedene Glade installer (dev und normal). Welchen hast du genommen? Was meinst du mit es sieht nicht nativ aus?Komisch. Ich habe damals nichts anderes machen müssen, als den Installer auszuführen (ich glaube, ich habe den von gladewin32 genommen), und schon hat PyGTK wunderbar funktioniert. Sieht zwar nicht total nativ aus, wie Qt oder WX, funktioniert aber gut.
Obs nur eine Wrapperschicht ist oder nicht ist ja eigentlich egal. Hast du schon mit PyQT programmiert? Wie waren deine Erfahrungen im gegensatz zu anderen Guis? Hat es einwandfrei unter Windows und Linux funktioniert?Gegen Qt 4.x sollte, da auf allen Plattformen freie Software, nichts einzuwenden sein. Ähnlich wie bei wx ist PyQt auch nur eine dünne Wrapperschicht um ein C++-Framework.
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
IIRC = if I recall correctly, wenn ich mich recht erinnereMiko hat geschrieben:Was ist IIRC und CHM?Wo genau ist das Problem? Die Doku gibts IIRC auch als CHM-File, was auch unter Linux z.b. mit kchmviewer hervorragend anzusehen ist.
Außerdem fand ich jetzt nicht, dass besonders viel unter Linux nicht funktioniert. Man muss eben ein Auge auf die Portabilität werfen, und kann nicht erwarten, dass alle Gimmicks auf allen Plattformen laufen.
CHM = kompilierte HTML-Hilfedateien, die unter Windows verwendet werden
Wie gesagt gibt es die WX-Dokumentation als CHM-Datei. Um diese zu betrachten, ist nicht mal Python notwendig.Die Dokumentationen laufen unter Windows nicht allein schon weil sie das Modul run benötigen das aus irgend einem Grund auch nicht gefunden wird. Ich wollte mit einem Freund mal ein Programm machen der musste auch erst dran Rumbauen bis es unter Linux lief. Das was unter Linux läuft würd mir ja schon reichen aber die Dokus sollten schon auf beiden Plattformen laufen.
Unter http://gladewin32.sourceforge.net/ gibt es Installer für GTK.Glade ist doch nicht speziell für Python oder? Es gibt ja auch verschiedene Glade installer (dev und normal). Welchen hast du genommen? Was meinst du mit es sieht nicht nativ aus?Komisch. Ich habe damals nichts anderes machen müssen, als den Installer auszuführen (ich glaube, ich habe den von gladewin32 genommen), und schon hat PyGTK wunderbar funktioniert. Sieht zwar nicht total nativ aus, wie Qt oder WX, funktioniert aber gut.
Nicht nativ heißt, dass GTK nicht Windows' eigene Controls hernimmt, sondern selbst welche zeichnet, die halt fast, aber nicht ganz wie die Windows-eigenen aussehen.
Nein, habe ich nicht, aber lunar, soweit ich weiß. Er wird sich sicher dazu äußernObs nur eine Wrapperschicht ist oder nicht ist ja eigentlich egal. Hast du schon mit PyQT programmiert? Wie waren deine Erfahrungen im gegensatz zu anderen Guis? Hat es einwandfrei unter Windows und Linux funktioniert?Gegen Qt 4.x sollte, da auf allen Plattformen freie Software, nichts einzuwenden sein. Ähnlich wie bei wx ist PyQt auch nur eine dünne Wrapperschicht um ein C++-Framework.
Ich meinte eigentlich die Doku wo man die ganzen Codebeispiele hat und ne Livedemo. Wenn ich da den Code kopiere funktioniert er weder unter Windows noch unter Linux.Wie gesagt gibt es die WX-Dokumentation als CHM-Datei. Um diese zu betrachten, ist nicht mal Python notwendig
Da habe ich meine Dateien auch her. Nur welche ist nun die richtige? Und obwohl ich 3 von denen Installiert hab findet er pygtk trotzdem nicht.Unter http://gladewin32.sourceforge.net/ gibt es Installer für GTK.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Miko!Miko hat geschrieben:Ich meinte eigentlich die Doku wo man die ganzen Codebeispiele hat und ne Livedemo. Wenn ich da den Code kopiere funktioniert er weder unter Windows noch unter Linux.
Die Codebeispiele funktionieren nur innerhalb der Livedemo. Die sind so geschrieben, dass diese innerhalb einer einzigen Anwendung (die Livedemo) ausgeführt werden können. Dafür mussten einige Verrenkungen in Kauf genommen werden.
Wenn das nicht so wäre, dann müsste jede Demo als eigene Anwendung laufen und das wäre auch nicht ideal.
Wenn du dich für wxPython interessierst, dann gibt es nur eines: Das Buch "wxPython in Action". Alles Andere ist Zeitverschwendung. Nirgends wird wxPython besser und klarer erklärt als in diesem Buch.
Und hier noch zwei praktische Links:
- http://www.python-forum.de/topic-6298.html
- http://www.python-forum.de/topic-7916.html
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Jau, da bin ichbirkenfeld hat geschrieben:Nein, habe ich nicht, aber lunar, soweit ich weiß. Er wird sich sicher dazu äußernObs nur eine Wrapperschicht ist oder nicht ist ja eigentlich egal. Hast du schon mit PyQT programmiert? Wie waren deine Erfahrungen im gegensatz zu anderen Guis? Hat es einwandfrei unter Windows und Linux funktioniert?
PyQT ist für mich perfekt. Man merkt zwar doch an einige Stellen (besonders bei der Arbeit mit Qt's Listenklassen und Iteratoren), dass die API ein bisschen unpythonisch ist, aber das wird sich bei dem Generieren von Wrappern für ein Toolkit dieses Umfangs wohl nicht vermeiden lassen und fällt beim Programmieren auch kaum auf.
Mit dem Qt Designer gibt es dagegen einen hervorragenden GUI Designer. Allerdings müssen dessen Beschreibungsdateien vorher in Python-Module übersetzt werden (im Gegensatz zu Glade), aber das ist in der Praxis kaum ein echter Nachteil.
Die API ist allgemein sehr angenehm und in der Regel gut verständlich, und die (C++-) Dokumentation sehr, sehr ausführlich und auch relativ übersichtlich. Für die Python-Bindings selbst gibt es nur wenig Dokumentation (es ist eher eine kleine Einführung), da sich die APIs allerdings nur wenig unterscheiden, ist die C++-Dokumentation absolut geeignet für Python.
Wie es um die Portabilität von Qt4 steht, habe ich jetzt nicht selbst ausprobiert, da ich zum einen nicht für Windows programmiere, und zum anderen hauptsächlich noch Qt3 einsetze, da ich KDE GUIs schreibe. Allerdings war Qt (auch in Version 3) schon immer höchst portabel, der Adobe Reader und Opera z.B. laufen ja problemlos auf beiden Plattformen. Die einzige Hürde wäre somit die Installation des Toolkits und der Bindings, da es aber offizielle Installer für (Py)Qt4 gibt, dürfte sich diese wohl problemlos gestalten. Somit müssten PyQt4 Programme sowohl unter Windows als auch unter Linux laufen, allerdings habe ich das wie gesagt noch nicht selbst getestet.
Das das Versprechen der Portabilität zumindest bei C++ allerdings wirklich erfüllt ist, zeigen Projekte wie Amarok, deren Alphaversionen mit Qt4 bereits unter Windows laufen.
Qt4 bietet einiges an Widgets, natürlich alle Standardelemente, und noch eher exotisches wie ein Dial Widget oder LCD Nummern. Sollten die GUI Bibliotheken von KDE4 tatsächlich, wie angekündigt, portabel sein, stehen dann auch noch die umfangreichen KDE Widgets zur Verfügung, in denen eigentlich alles vorhanden ist, was man sich vorstellen kann.
Was mich persönlich etwas stört, ist die Lizenz: Qt steht unter der GPL, man ist also gezwungen, entweder selbst die GPL zu verwenden, oder eine Lizenz zu kaufen. Ich habe persönlich nichts gegen die GPL, allerdings gibt es ja auch Leute, die BSD artiges vorziehen.
Ich persönlich finde Qt echt cool und komme damit hervorragend zurecht, das ist allerdings auch ein in höchstem Maße subjektive Ansicht, da ich nur noch .NET Winforms und Java Swing kenne, also nichts, was direkt mit Qt vergleichbar ist und somit auch nicht die Nachteile von Qt gegenüber z.B. Gtk kenne.
danke für die zahlreichen antworten.
was mich an wx ein bisschen stört ist dass es wesentlich umständlicher ist als tkinter. Man braucht viel mehr quellcode rundrum.
wx python in action kenne ich allerdings ist es in englisch. klar englisch ist die it sprache aber dennoch kann ich sie nicht so gut wie deutsch.
wobei o'relly bücher immer führend sind. da macht man nie was falsch.
funktioniert die wxpython demo unter linux? was gibt es für tutorials pdfs etc. für wxpython?
Weiß jemand wie man gtk unter windows zum laufen bekommt?
ich glaube ich entscheide mich für wx. Irgendwie scheint das der beste kompromiss zwischen plattformunabhängigkeit und funktionsvielfalt zu sein. Nur die umständlichkeit stört mich etwas.
was mich an wx ein bisschen stört ist dass es wesentlich umständlicher ist als tkinter. Man braucht viel mehr quellcode rundrum.
wx python in action kenne ich allerdings ist es in englisch. klar englisch ist die it sprache aber dennoch kann ich sie nicht so gut wie deutsch.
wobei o'relly bücher immer führend sind. da macht man nie was falsch.
funktioniert die wxpython demo unter linux? was gibt es für tutorials pdfs etc. für wxpython?
Weiß jemand wie man gtk unter windows zum laufen bekommt?
ich glaube ich entscheide mich für wx. Irgendwie scheint das der beste kompromiss zwischen plattformunabhängigkeit und funktionsvielfalt zu sein. Nur die umständlichkeit stört mich etwas.
Wie kommst du jetzt darauf? Qt4 ist voll portabel und sehr umfangreich, deswegen würde ich schon wissen, wie du jetzt ausgerechnet WxWidgets als den besten Kompromiss ausgemacht hast.Miko hat geschrieben:Irgendwie scheint das der beste kompromiss zwischen plattformunabhängigkeit und funktionsvielfalt zu sein.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo lunar!lunar hat geschrieben:Qt4 ist voll portabel
Wann hast du zum letzen Mal versucht, ein Python-Programm mit QT4 unter Windows zum Laufen zu bekommen? Ich nenne diese Marter sicher nicht portabel.
Ich scheitere ja schon an Eric 4 und das ist noch nicht mal in Python geschrieben -- oder doch? Wie auch immer. Ich hatte nicht die Nerven, die gesamte Installation durchzuhalten.
Vielleicht hat ja jemand eine einfache Installationsanleitung parat. Dann nehme ich alles zurück.
lg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
für mich ist das der beste kompromiss. qt4 kenn ich nicht. aber ich glaub kaum dass es leichter zu installieren ist als gtk. und gtk hab ich schon nicht zum laufen bekommen.Wie kommst du jetzt darauf? Qt4 ist voll portabel und sehr umfangreich, deswegen würde ich schon wissen, wie du jetzt ausgerechnet WxWidgets als den besten Kompromiss ausgemacht hast.
Auf windowskompatiblität könnte ich ja eigentlich verzichten. nur in der schule haben wir leider windows und da will ich auch häufiger dran weiterprogrammieren.
am liebsten hätte ich eigentlich gtk genommen. wenns doch nur laufen würd. oder tkinter aber das ist ja so hässlich. wx find ich irgendwie zu umständlich.
Zwei Doppelklicks auf "setup.exe" sind doch wohl nicht schwer, oder? Ich weiß, wir Linuxer sind verwöhnt vom Paketmanagement, aber das sollte doch wohl drin sein... ^^Miko hat geschrieben:für mich ist das der beste kompromiss. qt4 kenn ich nicht. aber ich glaub kaum dass es leichter zu installieren ist als gtk.
Btw, du sagst, dass du in der Schule weiterprogrammieren willst? Darfst du überhaupt auf den Schulrechnern Software installieren?
Nein, unter Linux. Diese Diskussion hatten wir hier schon mal, und ich erlaube mir mal, den Screenshot, den ich dort gepostet hatte, hier ebenfalls einzustellen:pyStyler hat geschrieben:Hässlich unter Windows? Wie soll deine Anwendung denn Aussehen?Miko hat geschrieben: ......oder tkinter aber das ist ja so hässlich....
Das ist Tk unter Linux... wem's gefällt...
@gerold:
Ich habe es noch nie versucht, da ich nicht unter Windows programmiere. Allerdings ist PyQt4 selbst portabel. Immerhin laufen viele Alpha-Versionen von KDE4 Programmen (z.B. Amarok) nahezu einwandfrei unter Windows.
Allerdings ist jetzt mein Ehrgeiz geweckt: Ich werd mich mal an einem PyQt4 Hello World unter Windows versuchen.
Zuletzt geändert von lunar am Mittwoch 25. Juli 2007, 15:18, insgesamt 1-mal geändert.
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo lunar!lunar hat geschrieben:Zwei Doppelklicks auf "setup.exe" sind doch wohl nicht schwer, oder?
Ich glaube, das ist doch nicht so einfach. Aber Gott behüte (wenn ich daran glauben würde) -- ich werde es jetzt sicher nicht ausprobieren.
lg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Ja, einwandfrei. Genauso wie die Doku. Beides wurde bei mir (Gentoo) im Paket wxpython-docs installiert.Miko hat geschrieben: funktioniert die wxpython demo unter linux?
Ich kann mich nur wiederholen: Das development-Paket von gladewin32 und dann pygtk, pygobject und pycairo sollte genügen.Weiß jemand wie man gtk unter windows zum laufen bekommt?
Willkommen in der GUI-Welt. So richtig "straightforward" ist kein Toolkit.ich glaube ich entscheide mich für wx. Irgendwie scheint das der beste kompromiss zwischen plattformunabhängigkeit und funktionsvielfalt zu sein. Nur die umständlichkeit stört mich etwas.
irgendwie habe ich wohl das lesen verlernt!lunar hat geschrieben:....Nein, unter Linux.pyStyler hat geschrieben:Hässlich unter Windows? Wie soll deine Anwendung denn Aussehen?Miko hat geschrieben: ......oder tkinter aber das ist ja so hässlich....
Das ist Tk unter Linux... wem's gefällt...
Der Miko schrieb doch, dass er gerne weiter unter Windows Programmieren will.
pyStyler hat geschrieben:irgendwie habe ich wohl das lesen verlernt!Das ist Tk unter Linux... wem's gefällt...
Der Miko schrieb doch, dass er gerne weiter unter Windows Programmieren will.
Das hört sich irgendwie so an, als läge der Fokus doch deutlich auf Linux, und dann ist ein hässliches GUI Toolkit doch irgendwie suboptimal.Auf windowskompatiblität könnte ich ja eigentlich verzichten. nur in der schule haben wir leider windows und da will ich auch häufiger dran weiterprogrammieren
@gerold
Mmmh, mein Selbstversuch mit Qt4 wird sich noch etwas hinziehen: Der 58 MB große Download von Qt4 4.2.3 tröpfelt gerade mit flockigen 88 KB/s herein, mehr gibt meine Internetverbindung nicht her