GUI Designer

Fragen zu Tkinter.
Antworten
Scriptonator
User
Beiträge: 14
Registriert: Mittwoch 23. Februar 2011, 18:16

Hallo,
Ich habe mich jetzt auch mal mit TKinter beschäftigt, bin aber zu faul, das gesamte GUI "auszustylen", also alles schön in seine Position zu bringen.

Ich wollte fragen, ob es da nicht schon fertige GUI Designer gibt, die einem die Arbeit abnehmen?

Zweite Frage: Kann man die Elemente auch mit festen Koordinaten ausrichten?
Ich habe bis jetzt von anchor='n' & side='right' und so gelesen.

Gruß
BlackJack

@Scriptonator: GUIs werden heutzutage eigentlich in allen GUI-Toolkits nicht mehr absolut positioniert. Das ist viel zu unflexibel und funktioniert nicht besonders gut wenn die Anwendung nicht nur bei dem Programmierer auf einem Rechner laufen soll, oder eben nur auf solchen, die zufällig die gleiche Bildschirmauflösung und Schriftgrössen wie die des Programmierers haben.

In `Tkinter` benutzt man `pack()` und `grid()` für das Layout. Für jedes Containerwidget -- meistens `Frame`\s -- muss man sich für eine der beiden Methoden entscheiden. Bei `pack()` darf man pro Containerwidget für alle enthaltenen Widgets nur eine Ausrichtung verwenden -- sonst kann es zu schwer vorhersehbaren Layouts kommen.
Scriptonator
User
Beiträge: 14
Registriert: Mittwoch 23. Februar 2011, 18:16

Okay.
Dann werde ich das so versuchen :)
Scriptonator
User
Beiträge: 14
Registriert: Mittwoch 23. Februar 2011, 18:16

Gibt es trotzdem nicht einige Designer, welche das relative Positionieren vereinfachen?

Gruß
problembär

Scriptonator hat geschrieben:Gibt es trotzdem nicht einige Designer, welche das relative Positionieren vereinfachen?
Für Tkinter kenne ich leider keinen brauchbaren, obwohl ich am Anfang auch schonmal nach sowas gesucht habe. Ist halt ein relativ kleines Toolkit.

Für PyQt gibt es den "Qt Designer", der dafür wohl ganz gut ist. Ist dann aber eben nicht mehr Tkinter.

Gruß
BlackJack

@daemonTutorials: Was ist denn das für eine bescheuerte Antwort!? Wenn man *diesen* Suchbegriff schon kennen würde, dann bräuchte man wohl kaum noch eine Suchmaschine. :roll:
problembär

Webseite dafür wäre wohl

http://spectcl.sourceforge.net/

Da wird zuerst auf eine neuere Anwendung "GUI Builder" hingewiesen. Sieht aber alles schon ein bißchen älter aus.
So viel Interesse scheint an sowas irgendwie nicht zu bestehen.
Benutzt hier jemand Designer-Programme für Tkinter?

Gruß
Benutzeravatar
daemonTutorials
User
Beiträge: 171
Registriert: Sonntag 6. Februar 2011, 12:06
Kontaktdaten:

@BlackJack: Ich entschuldige mich aufrichtig für die Unannehmlichkeiten.
@problembär: Leider kenne ich sonst keinen. Da ich Tkinter immer direkt in den Code schreibe, ohne Umwege, benutze ich keinen GUI Designer. Außerdem lernst du die Tricks und Tücken von Tk nur durch das selber Programmieren. Nicht durch einen GUI Designer wo du hinterher nicht weißt, was das alles bedeutet was der PyInterpreter dir da an Fehlermeldungen ausspuckt.
LG Maik
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

problembär hat geschrieben:Benutzt hier jemand Designer-Programme für Tkinter?
Nicht wirklich. Ich habe mir einige angesehen, aber es lohnt sich einfach nicht. Erstens wie daemonTutorials schon sagte, man kann mit denen nicht wirklich was lernen und verstehen erst recht nicht. An manchen kann man zwar sich die unterschiede der Geometrie-Manager sehr gut vor Augen führen, das war es dann aber auch. Zum Großteil erstellen die Designer unützen oder teilweise falschen Code, dennoch würde ich sagen das vorallem der zweite Grund ausschlaggebend ist. Denn Tkinter nutzt man nur für kleine oder höchstens für mittelgroße Projekte, ein Designer lohnt sich schlecht hin nicht, weil man per Hand schneller ist. Die API ist ja selbst wenn man ttk, pwm und tix noch dazu zählt bei weitem nicht so umfangreich wie Qt.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Speziell bei Qt sehe ich das persönlich durchaus anders. Iirc habe ich sogar in der Doku zu Qt / PyQt oder gar PySide gelesen, dass man sich ruhig mal den vom Designer (richterweise dem Code-Generator uic) erzeugten Code ansehen soll, um daran zu sehen, wie man einige Sachen macht. Auch wenn man bei PyQt (und hoffentlich auch bald PySide) eher dazu neigt, neutrale Ui-Design-Dateien zur Laufzeit zu laden und den Code dynamisch zu erzeugen. Aber das mag tatsächlich ein signifikanter Unterschied zu Tk und den dafür verfügbaren Designern bzw. Codegeneratoren sein.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten