GUI Toolkit welches ist das richtige?

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

"commercial licenses for proprietary development"

Außerdem geht es nicht um kommerzielle Entwicklung, sondern die Lizenz ist kommerziell wenn du proprietäres entwickelst.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Ich hab jetzt nicht alle Beiträge gelesen, möchte aber meinen Senf noch unterrühren.

Meine Meinungen:

Tkinter:
Vorteil: Ist bei (fast) jedem Python dabei
Nachteil: Hässlich (meiner Meinung nach) und verhältnismäßig wenige Möglichkeiten

GTK:
Umständlich zu programmieren und anscheinend ein ziemliches Frickelwerk aus C mit dem Versuch das nachträglich in Objekte zu packen. Mehr Funktionalität als Tkinter, aber immer noch viel Handarbeit nötig

Qt4:
Umfangreiches Framework und gerade mit den Python Bindings recht gut zu programmieren. Neben den GUI Klassen gibt es auch noch weitere Klassen für XML, SQL, Netzwerk und einiges andere.


Ich habe auch eine Weile überlegt und mich letztlich dafür entschieden Qt4 zu verwenden. Ich verwende zwar selbst Gnome als Desktop, aber das hindert mich ja nicht daran Qt4 Anwendungen zu starten. Die zusätzlichen Klassen sind bei Python eigentlich überflüssig, bei C++ aber schon sinnvoll. Ich werde bei mir wenn möglich die Qt4 Klassen verwenden um später die Möglichkeit zu haben das Ganze auch nach C++ portieren zu können falls es nötig ist.

Ich habe mir sogar kürzlich ein Buch gekauft das ich empfehlen kann. Ist zwar in englisch, aber gut geschrieben. Normalerweise bin ich kein Fan von englischer Literatur, aber damit kommt ich gut zurecht

Rapid GUI Programming with Python and Qt
The Definitive Guide to PyQt Programming
Buch - Autor(en): Mark Summerfield
Verlag: Prentice Hall International
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

burli hat geschrieben:GTK:
Umständlich zu programmieren und anscheinend ein ziemliches Frickelwerk aus C mit dem Versuch das nachträglich in Objekte zu packen. Mehr Funktionalität als Tkinter, aber immer noch viel Handarbeit nötig
Das stimmt schlichtweg nicht. Es ist nicht schwerer oder leichter zu programmieren als andere GUI-Libs (teils komplizierter, teils einfacher, hängt von der Aufgabe ab) und das ziemliche Frickelwerk was du meinst ist eben Objektorientiertes C - kann dir aber unter Python vollständig egal sein, denn dort hält es sich ganz normal an das Objektmodell von Python. Zudem hast du noch mit gnome-python(-extras, -desktop) recht viele zusätzliche Widgets die dir Zeit sparen.

GTK ist sicher nicht der Weisheit letzter Schluss, aber das was du behauptest ist unter Python FUD.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
lunar

burli hat geschrieben:Ich habe auch eine Weile überlegt und mich letztlich dafür entschieden Qt4 zu verwenden.
Zu dieser Wahl kann ich dir nur gratulieren ;)
Ich verwende zwar selbst Gnome als Desktop
Zu dieser eher weniger ;)
Die zusätzlichen Klassen sind bei Python eigentlich überflüssig.
Letztens gab es hier das Problem, einen Prozess unter Anzeige eines Qt4-Fortschrittdialogs nicht-blockierend aufzurufen: http://www.python-forum.de/topic-13448.html?highlight=

Daran kann man erkennen, dass man die Qt4-Klassen auch verwenden sollte, weil sie optimal mit den GUI-Widgets interagieren.
Ich werde bei mir wenn möglich die Qt4 Klassen verwenden um später die Möglichkeit zu haben das Ganze auch nach C++ portieren zu können falls es nötig ist.
Aus welchen Grund sollte man das tun?
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Leonidas hat geschrieben: GTK ist sicher nicht der Weisheit letzter Schluss, aber das was du behauptest ist unter Python FUD.
Unter Python vielleicht. Aber ich hab mir schon ein paar Sachen angeschaut und bei denen haben sich mir die Nackenhaare aufgestellt
lunar hat geschrieben: Zu dieser eher weniger
Ich war lange Zeit der Meinung KDE sei die bessere Wahl. Mittlerweile bin ich es aber leid. Mit jedem KDE Desktop, egal ob Suse, Debian oder Kubuntu, hatte ich die gleichen Probleme. Programme starten erst beim 2. oder 3. Versucht, jeden Tag mehrfach den Crashmanager gesehen (das passiert sogar manchmal unter Gnome wenn ich mal ein KDE Programm starte). Außerdem ist mir KDE zu bunt und sieht zu sehr nach dem Versuch aus Windows nachzubilden.

Alle anderen Desktops sind mir zu spartanisch. Gnome ist sicher nicht der Weisheit letzter Schluss, aber für mich die geeignete Mischung.

Trotzdem bevorzuge ich Qt4 für meine eigenen Projekte weil die etwas weiter über die üblichen kleinen Tools mit 1-2 Fenstern hinausgehen. Da hat Qt einfach die meisten Möglichkeiten und ist nach meinem Empfinden auch robuster
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

burli hat geschrieben:
Leonidas hat geschrieben: GTK ist sicher nicht der Weisheit letzter Schluss, aber das was du behauptest ist unter Python FUD.
Unter Python vielleicht. Aber ich hab mir schon ein paar Sachen angeschaut und bei denen haben sich mir die Nackenhaare aufgestellt
Für was für eine Sprache wird denn hier ein Toolkit gesucht? Ich gebe zu, einige Widgets sind unnötig kompliziert (wobei man manchmal auch denn Sinn dahinter erkennen kann und es nicht einmal so blöd ist), aber das ist bei wxPython ganz genau so (und es crasht seltener).
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
lunar

burli hat geschrieben:Außerdem ist mir KDE zu bunt und sieht zu sehr nach dem Versuch aus Windows nachzubilden.
Als ob man das nicht konfigurieren könnte :roll:
Bild

Lege mal deine idiotische Umsteiger-Arroganz ab, und betrachte die Dinge rational: Erstens ist die Windows-UI an sich nicht schlecht, und zweitens kann man KDE in punkto Aussehen wesentlich genauer anpassen als Gnome.

Deine persönlichen Präferenzen stehen natürlich nicht zur Debatte, ebenso wie die Tatsache, dass KDE bei dir offenbar fehlerhaft ist, aber dieses Nicht-Argument hättest du dir echt sparen können.

@Leonidas
Das ist ja alles gut und schön, aber du wirst wohl kaum bestreiten, dass GLib krude ist. Und darauf baut der PyGtk-Code letzten Endes wieder auf. Unabhängig davon, wie sich nun die PyGtk API tatsächlich "anfühlt", ist und bleibt die darunter liegende Bibliothek in Interface und Implementierung abenteuerlich ;)

@rest
sorry für offtopic
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

lunar hat geschrieben:@Leonidas
Das ist ja alles gut und schön, aber du wirst wohl kaum bestreiten, dass GLib krude ist. Und darauf baut der PyGtk-Code letzten Endes wieder auf. Unabhängig davon, wie sich nun die PyGtk API tatsächlich "anfühlt", ist und bleibt die darunter liegende Bibliothek in Interface und Implementierung abenteuerlich ;)
Mag ja sein (und ich habe weder Zeit, noch Lust mir das anzusehen, abenteuerlichen Code sehe ich oft genug *g*), aber solange der mich nicht anspringt, ist das nicht gar so schlimm. Zum Ausgleich: die Python Stdlib. Umfassend, aber total unkonsistent und teilweise ebenso abenteuerlich. mitsuhiko kramt alle 2 Tage in #python.de ein neues Modul aus, bei dem man die Implementation nicht kennen will.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
lunar

Leonidas hat geschrieben:Mag ja sein (und ich habe weder Zeit, noch Lust mir das anzusehen, abenteuerlichen Code sehe ich oft genug *g*), aber solange der mich nicht anspringt, ist das nicht gar so schlimm. Zum Ausgleich: die Python Stdlib. Umfassend, aber total unkonsistent und teilweise ebenso abenteuerlich. mitsuhiko kramt alle 2 Tage in #python.de ein neues Modul aus, bei dem man die Implementation nicht kennen will.
Auch wieder war ;)
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

lunar hat geschrieben: Als ob man das nicht konfigurieren könnte :roll:
Das weiß ich auch
lunar hat geschrieben: Deine persönlichen Präferenzen stehen natürlich nicht zur Debatte, ebenso wie die Tatsache, dass KDE bei dir offenbar fehlerhaft ist
Bei 3 unterschiedlichen Distributionen? Auf verschiedenen Rechnern? Und ich bin nicht der einzige mit diesen Problemen.

Aber genug OT.

Die Wahl welches Toolkit man letztendlich verwendet hängt hauptsächlich von der geplanten Anwendung und von den persönlichen Vorlieben ab. Für kleiner Tools kann man jedes der Tookits verwenden, aber bei komplexen Anwendungen (mit vielen Dialogen, Docked Windows usw) würde ich Qt vorziehen (was nicht bedeuten soll das es mit wxw oder GTK nicht auch gehen würde)
lunar

burli hat geschrieben:
lunar hat geschrieben:Als ob man das nicht konfigurieren könnte :roll:
Das weiß ich auch
Da du es so offensichtlich besser weißt, ist es umso unverständlicher, warum du diesen Unsinn von "zu bunt" und "sieht aus wie Windows" trotzdem erzählst :roll:
lunar hat geschrieben:Deine persönlichen Präferenzen stehen natürlich nicht zur Debatte, ebenso wie die Tatsache, dass KDE bei dir offenbar fehlerhaft ist
Bei 3 unterschiedlichen Distributionen? Auf verschiedenen Rechnern? Und ich bin nicht der einzige mit diesen Problemen.
Ich sagte doch, dass das für mich gerade nicht zur Debatte steht. Das meinte ich völlig wertfrei. Du hast diese Probleme, also ist KDE für dich momentan ungeeignet. Das akzeptiere ich, denn erstens ist das ein rationaler Grund (wer nimmt schon nicht funktionierende Software ;) ), und zweitens gehört die Lösung dieses Problems nicht in dieses Forum.

Du solltest nur erkennen, dass das nicht an KDE liegt. Immerhin setzen tausende anderer User KDE auch auf diesen Distributionen fehlerfrei ein.

Ich muss auch akzeptieren, dass die Gnome einfach besser gefällt. Persönliche Präferenzen sind über jedes Urteil erhaben.

Was ich allerdings nicht akzeptieren muss, sind Argumente, die keine sind, aber nichtsdestotrotz gegen ein Projekt vorgebraucht werden.
Antworten