【发布时间】:2017-08-17 22:55:22
【问题描述】:
好的,所以基本问题是这样的: 我有一组要显示的字符串,然后是垂直对齐的相关数据,这组字符串的长度是可变的。使用此处描述的方法:Python spacing and aligning strings 产生的结果不太理想。查看我的努力成果here。我推测字符的宽度在列表框中的字符之间不是固定的,就像使用打印命令一样,这可以解释为什么我的列表框列没有对齐。
这是我目前正在使用的代码,与其他问题中显示的解决方案相比,它很粗糙,但它确实可以正常工作,因为它用足够的空间填充数据以使每个数据的长度相同。
stringlist=['thistext','thattext','somemoretext','txt','text with spaces']
tagnmlen=0
for tags in stringlist:
if len(tags) > tagnmlen:
tagnmlen=len(tags)
for text in stringlist:
strg = text.ljust(tagnmlen) + ',' + "another bit of data"
listbox.insert(END,strg)
我宁愿不将 Listbox 的字体更改为具有一致间距的字体,也不希望多个 Listbox 彼此相邻设置。
【问题讨论】:
标签: python tkinter listbox string-formatting