Python填充字符串以对齐Tkinter ListBox小部件中的列
好的,基本问题是: 我有一组我想要显示的字符串,后面是垂直对齐的相关数据,这组字符串的长度是可变的。使用此处描述的方法:产生的结果不理想。看看我努力的成果。我推测,在列表框中,字符的宽度不是像打印命令一样固定的,这可以解释为什么我的列表框列没有对齐 这是我目前正在使用的代码,与另一个问题上显示的解决方案相比,它是粗糙的,但它的功能是正确的,因为它用足够的空间填充数据,使每个数据具有相同的长度Python填充字符串以对齐Tkinter ListBox小部件中的列,python,tkinter,listbox,string-formatting,Python,Tkinter,Listbox,String Formatting,好的,基本问题是: 我有一组我想要显示的字符串,后面是垂直对齐的相关数据,这组字符串的长度是可变的。使用此处描述的方法:产生的结果不理想。看看我努力的成果。我推测,在列表框中,字符的宽度不是像打印命令一样固定的,这可以解释为什么我的列表框列没有对齐 这是我目前正在使用的代码,与另一个问题上显示的解决方案相比,它是粗糙的,但它的功能是正确的,因为它用足够的空间填充数据,使每个数据具有相同的长度 stringlist=['thistext','thattext','somemoretext','tx
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)
我不希望将列表框的字体更改为具有一致间距的字体,也不希望将多个列表框相邻设置。如果要在单个列表框中对齐两列字符串,我建议如下:
import tkinter as Tk
from tkinter import font as tkFont
工作很有魅力,谢谢!
import tkinter as Tk
from tkinter import font as tkFont