Tk Menu App. Prototyp...

Fragen zu Tkinter.
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Tk Menu App. Prototyp...

Beitragvon jens » Mittwoch 17. Dezember 2008, 17:33

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

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Re: Tk Menu App. Prototyp...

Beitragvon numerix » Mittwoch 17. Dezember 2008, 17:59

jens hat geschrieben:Die Frage ist, ob das so eine guter Startpunkt für eine Applikation ist.


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ü.

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.

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?


ad 1.: Das überlege ich mir auch alle Nase lang wieder auf's Neue ...
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.
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: Tk Menu App. Prototyp...

Beitragvon Leonidas » Mittwoch 17. Dezember 2008, 19:21

jens hat geschrieben:Die Frage ist, ob das so eine guter Startpunkt für eine Applikation ist. Verbesserungsvorschläge?

Also erstmal fällt mir auf dass im Namen der Seite ein Bindestrich zu wenig ist: sollte ja eigentlich Menü-Applikation heißen.

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 Modvoice
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Re: Tk Menu App. Prototyp...

Beitragvon jens » Mittwoch 17. Dezember 2008, 19:59

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ü.

Das ist eine hervorragende Idee. Mach ja Sinn und spart viel code. Kannst du den Thread raussuchen? Gibt es schon code dafür irgendwo?

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

Re: Tk Menu App. Prototyp...

Beitragvon numerix » Mittwoch 17. Dezember 2008, 20:16

jens hat geschrieben:Kannst du den Thread raussuchen? Gibt es schon code dafür irgendwo?


Der Thread. Der Code.
abgdf

Beitragvon abgdf » Donnerstag 18. Dezember 2008, 02:34

@abgdf: Ich denke das ist einfacher als:

Ich denke umgekehrt, daß das Beispiel im Wiki von jemandem aus meinem Posting in

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 :wink:.

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

Viele Grüße

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder