GUI

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
meego
User
Beiträge: 380
Registriert: Montag 4. März 2013, 14:36

Ist wxPython heute am gebräuchlichsten für GUIs?
Benutzeravatar
darktrym
User
Beiträge: 785
Registriert: Freitag 24. April 2009, 09:26

Wenn du den Anwender zus. Installationen sparen willst TK ansonsten QT.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
meego
User
Beiträge: 380
Registriert: Montag 4. März 2013, 14:36

Warum QT? Gibt es irgendwo eine Liste mit Vor-/Nachteilen?
Boa
User
Beiträge: 190
Registriert: Sonntag 25. Januar 2009, 12:34

@Dami: Cool, das kannte ich noch nicht :)
@meego: Das ist zwar keine direkte Antwort, aber wenn es um praktische Belangen geht würde ich mich eher nach einer visuellen Lösung ala what you see is what you get umsehen, die den eigenen Ansprüchen gerecht wird. Ich habe mir sagen lassen, dass das Projekt gui2py gut ist um schnell eine GUI zusammen zu bauen. Es baut auf wxPython auf. Wenn es um Ästhetik geht muss man sich wohl oder übel tiefer in eines der Frameworks einarbeiten. Soweit ich weiß gibt es noch keine Python GUI Frameworks, die sich z.B. mit Delphi messen können.
BlackJack

@Boa: War Delphi nicht zusammenklicken von GUIs mit absoluten Grössen und vermischen von GUI und Programmlogik? Dagegen gewinnt eigentlich jedes gängige GUI-Rahmenwerk, in sofern kann sich auch alles damit messen lassen.

Wenn man GUIs zusammenklicken möchte, dann gibt es für Gtk und Qt dafür jeweils eine Standardanwendung. Bei wxPython nicht, und da ist mir auch kein Programm bekannt mit dem man alle Widgets beim zusammenklicken verwenden kann, die von wxPython angeboten werden. In dem Fall ist hangeschriebener Quelltext sinnvoller.

Man merkt wxWidgets sein Alter und die fehlende Weiterentwicklung an. Das ist IMHO ein gewichtigerer Punkt der dagegen spricht, als kein Standard-GUI-Designer.
Boa
User
Beiträge: 190
Registriert: Sonntag 25. Januar 2009, 12:34

@BlackJack: Das mit dem zusammenklicken stimmt. Man brauchte sich praktisch nicht mit GUI Programmierung auseinanderzusetzen, was meiner Meinung nach ein großer Vorteil ist. Zumindest von dem her was ich bisher an GUI Programmierung gesehen habe (u.a. Java). Ich warte noch bis man GUIs deklarativ schreiben kann.
Was die Trennung von Programmcode und GUI angeht hatte ich bei Delphi und Java trotz Zusammenklicken keine Probleme. Wenn das nicht funktioniert liegt das denke ich eher am Entwurf. Zur Trennung braucht man einfach mehrere Dialog Klassen, die die Elemente der GUI repräsentieren und die Datenabfragen oder Verarbeitungsschritte per Delegation an die nächste Schicht weiterleiten. Bei komplexen Programmen kann man somit ebenfalls das MVC Pattern anwenden. Ansonsten musst du mir noch Mal erklären was du mit mischen von GUI und Programmlogik meinst. (falls das zu off topic wird, vielleicht per pn?)
BlackJack

@Boa: Das mit „absoluten Grössen” hast Du unter den Tisch fallen lassen. Zusammenklicken kann man für Gtk und Qt auch, nur dass man da heute keine absoluten Grössen und Positionen mehr benutzt. Und wenn man stattdessen die Platzierung dem Rahmenwerk überlässt, ist auch das erstellen von GUIs mittels Programmcode nicht mehr so schwer und auch insbesondere das anpassen wenn man die Widgets umordnet, oder etwas einfügt oder weg nimmt. Der Rest passt sich dann ja automatisch an.

Natürlich kann man in so Umgebungen wie Delphi oder VisualBasic auch GUI und Programmlogik trennen, aber gerade Anfänger machen das nie. Die ziehen irgendwo einen Button hin, klicken sich durch die Eigenschaften zu dem Fenster wo man den Code für diesen Button eingibt, und schreiben da die Logik rein. Wenn die GUI aus dem Designer als Datendatei rausfällt, ist das von vornherein deutlich getrennter.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

BlackJack hat geschrieben:Wenn man GUIs zusammenklicken möchte, dann gibt es für Gtk und Qt dafür jeweils eine Standardanwendung. Bei wxPython nicht, und da ist mir auch kein Programm bekannt mit dem man alle Widgets beim zusammenklicken verwenden kann, die von wxPython angeboten werden. In dem Fall ist hangeschriebener Quelltext sinnvoller.
Bei wxPython gibt es XRCed, aber ob das etwas taugt weiß ich nicht, ich habe das zuletzt 2006 oder so verwendet. Würde heutzutage auch nicht auf die Idee kommen wxPython zu verwenden, von daher stellt sich das Problem auch eher weniger.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Bachsau
User
Beiträge: 7
Registriert: Sonntag 6. April 2014, 18:34

Ich verstehe nicht ganz, wie man das miteinander vergleichen kann. wxWidgets stellt die GUI schließlich mit Hilfe des nativen System-Toolkits dar. Qt und Gtk+ sind Multiplattformer, die selbst darstellen. Es kommt drauf an, was man will: Alle Funktionen eines Toolkits ausreizen, oder sich mit dem kleinsten gemeinsamen Nenner überall anpassen.

Qt ist mir persönlich zu überladen, deshalb verwende ich Gtk+3. Zu TK kann ich nicht viel sagen, außer dass ichs hässlich find, und es irgendwie veraltet auf mich wirkt. :K
Antworten