Ich hab mal im Wiki diese Seite erstellt: [wiki]Tkinter/Menu Prototyp[/wiki] und möchte den Code zur Diskussion stellen.
Die Frage ist, ob das so eine guter Startpunkt für eine Applikation ist. Verbesserungsvorschläge?
Zwei Punkte habe ich da konkret:
1. Sollte root = tk.Tk() und root.mainloop() lieber außerhalb der Klasse gemacht werden? Vielleicht in einer def main()?
2. Wie Tkconstants importieren? Ich hab es jetzt normal gemacht und z.B. Tkconstants.END gemacht. Wie handhabt ihr das?
@abgdf: Ich denke das ist einfacher als: http://www.angelfire.com/linux/tux25/py ... er.html#13
Tk Menu App. Prototyp...
Im Prinzip ja, wenn man mit dieser Funktionalität zufrieden ist. Schön wäre die Ergänzung von Shortcuts, die in den Menüeinträgen erscheinen. Besonders schön wäre es, wenn man daraus ein aufgebohrtes Menu-Widget machten würde, das man bei der Initialisierung z.B. mit einem Dictionary füttert, das alle relevanten Daten enthält und fertig ist das Menü.jens hat geschrieben:Die Frage ist, ob das so eine guter Startpunkt für eine Applikation ist.
Es gab vor einigen Monaten mal ein Thread dazu. Damals ging es mir darum, wie man es anstellen kann, dass die Shortcut-Angaben in den Menüeinträgen rechtsbündig dargestellt werden, wenn man eine proportionale Schrift verwendet. Damals hatte ich entsprechenden Code gepostet - dürfte schnell zu finden sein.
ad 1.: Das überlege ich mir auch alle Nase lang wieder auf's Neue ...jens hat geschrieben:Zwei Punkte habe ich da konkret:
1. Sollte root = tk.Tk() und root.mainloop() lieber außerhalb der Klasse gemacht werden? Vielleicht in einer def main()?
2. Wie Tkconstants importieren? Ich hab es jetzt normal gemacht und z.B. Tkconstants.END gemacht. Wie handhabt ihr das?
Meist mache ich es so, dass es ich bei kleineren Sachen (ein paar dutzend Zeilen Code) außerhalb der Klasse mache, bei größeren Sachen in der Klasse. Einen wirklichen Grund dafür gibt es aber, glaube ich, nicht.
ad 2.: Ich importiere Tkconstants gar nicht, weil die Konstanten automatisch beim Import von Tkinter mit dabei sind. Also z.B. dann tk.END. Es gibt ja auch noch die Zeichenkettenvariante "end"; das ist zwar weniger zu tippen, sieht aber irgendwie nicht so nach Konstante aus, weshalb ich es in der Regel nicht so mache.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Also erstmal fällt mir auf dass im Namen der Seite ein Bindestrich zu wenig ist: sollte ja eigentlich Menü-Applikation heißen.jens hat geschrieben:Die Frage ist, ob das so eine guter Startpunkt für eine Applikation ist. Verbesserungsvorschläge?
Zweitens finde ich diese freistehenden runden Klammern ziemlich störend, erinnern negativ an Java-Code. Würde man in Python eher nicht so machen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Das ist eine hervorragende Idee. Mach ja Sinn und spart viel code. Kannst du den Thread raussuchen? Gibt es schon code dafür irgendwo?numerix hat geschrieben:Schön wäre die Ergänzung von Shortcuts, die in den Menüeinträgen erscheinen. Besonders schön wäre es, wenn man daraus ein aufgebohrtes Menu-Widget machten würde, das man bei der Initialisierung z.B. mit einem Dictionary füttert, das alle relevanten Daten enthält und fertig ist das Menü.
Ich denke umgekehrt, daß das Beispiel im Wiki von jemandem aus meinem Posting in@abgdf: Ich denke das ist einfacher als:
http://www.python-forum.de/topic-16895.html
übernommen und leicht angepaßt wurde. Sieht mir doch sehr nach meinem Code aus, den ich von
http://wiki.perl-community.de/bin/view/ ... lKapitel13
abgeleitet hatte.
Ist ja auch ok so

Aber schön, daß Du schon so fleißig auf meiner Seite gelesen hast

Viele Grüße