我是一个“新手”python用户。在
我有一个使用tkinter的列表框,我想格式化列表条目,使它们对齐,我有以下内容:
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()
有人能解释一下为什么列表框条目的格式不像打印行那么好吗?在
我知道多列列表框(例如Display Listbox with columns using Tkinter?),所以我不需要一个解决方案,我感兴趣的是为什么事情没有像我预期的那样工作。在
谢谢
默认字体对字符使用的宽度不相等。例如,请尝试(假设您在Windows上):
结果如下:
不如asongtoruin但是
相关问题 更多 >
编程相关推荐