[Python-de] Tkinter Listbox Einträge

Georg Mischler schorsch at schorsch.com
Sun Feb 24 13:54:34 EST 2002


Bernd Schmidt wrote:

> Hallo,
>
> Ich bin noch relativ neu bei Python und werde sicher noch öfter fragen.
> Im Moment habe ich gerade ein Problem, das ich mir nicht erklären kann.
> Ich habe in Tkinter eine Listbox verwendet und die Einträge alle mit
> string.ljust in eine bestimmte Form gebracht, so daß es wie drei Spalten
> aussieht, vorne Nachname, dann Vorname, dann Ort, wobei eben alles
> jeweils untereinander stehen soll.
> Leider sieht es aber in der Listbox nicht so aus, wie es aussehen sollte.
> Gebe ich die Strings in der Konsole per print aus, so stimmt alles, aber
> eben nicht in der Listbox, dort verschiebt sich alles, nur die Anfänge der
> zweiten und dritten Spalte stehen nicht alle passend untereinander.
> Ich habe versuchsweise die Einträge der Listbox per print ausgegeben,
> aber komischerweise stimmt es dann in der Konsole wieder.
> Ich kann mir das ganze nicht erklären. Wieso zeigt die Listbox die Einträge
> anders an als sie auf Kommandozeilenebene ausgegeben werden?


Das liegt daran, dass deine Konsole eine Schrift mit
fester Zeichenbreite verwendet, die Listbox aber eine
Proportionalschrift.
Die einfachste Abhilfe sieht so aus:

 listbox.configure(font="courier")

Wenn du keine Schreibmaschinenschrift findest, die
dir gefaellt, dann kannst du auch mehrere Listboxen
parallel nebeneinander herlaufen lassen. Die dafuer
notwendige Synchronisation ist aber nicht ganz trivial,
und meistens den Aufwand nicht wert.


-schorsch

-- 
Georg Mischler  --  simulations developer  --  schorsch at schorsch.com
+schorsch.com+  --  lighting design tools  --  http://www.schorsch.com/




More information about the Python-de mailing list