Ich bin ein "Anfänger" Python-Benutzer.Python Tkinter Listbox Eingabeformat
Ich habe eine Listbox tkinter mit und ich möchte die Listeneinträge zu formatieren, so dass sie ausgerichtet sind, und ich habe folgendes:
from Tkinter import *
master = Tk()
info=[ ['sue', 1, 'Argentina', 'Bsc'],
['peggy-sue', 17, 'U.K.', 'Bsc'],
['susie', 234, 'France', 'BA']
]
listbox = Listbox(master, width=60)
listbox.pack()
listbox.insert(END, "{:<15s} {:>5s} {:<25s} {:<5s}".format("Name","id","Nationality","Qual"))
for i in range(len(info)):
item = "{:<15s} {:>5d} {:<25s} {:<5s}".format(info[i][0],info[i][1],info[i][2],info[i][3])
print item # Gives nicely formatted lines
listbox.insert(END, item) #Lines are not nicely formatted in listbox
mainloop()
Kann mir jemand erklären, warum die listbox Einträge sind schön nicht als Druck formatiert Linie ist?
Ich weiß über mehrspaltige Listboxen (z. B. Display Listbox with columns using Tkinter?) und so brauche ich keine Lösung, ich bin daran interessiert, warum die Dinge nicht so funktionieren, wie ich es erwartet hatte.
Dank
Sie müssen Ändern Sie die Anzahl der Leerzeichen zwischen den Elementen in Abhängigkeit von der Länge jedes Elements. Ich werde sehen, ob ich es schaffen kann, aber das sollte ziemlich einfach zu erreichen sein. – pointerless