有没有办法在初始化时缩小TKinter列表框的单元格的高度?
self.lb = Listbox(f,selectmode=MULTIPLE, bd=1, height=10)
self.lb.bind("<<ListboxSelect>>", self.onSelectlbItem)
self.lb.grid(row=3, column=1,columnspan=7, sticky="WE", pady=0)
答案 0 :(得分:4)
tkinter列表框中行的高度取决于文本字体的大小。这可以为整个窗口小部件设置(尽管不是针对单个行),可以是初始化时的font=
可选参数,也可以是使用列表框后初始化的.config
方法。
以下是在初始化时进行字体大小设置时代码的外观:
import tkFont
small_font = tkFont.Font(size=5) # Specify font size, and use default style for other parameters
self.lb = Listbox(f,selectmode=MULTIPLE, bd=1, height=10, font=small_font)
编辑以上示例适用于Python 2.如果您使用的是Python 3,我相信导入/使用字体实用程序的正确方法现在是from tk import font
和{{1} }。
答案 1 :(得分:1)
行的高度确实取决于字体大小,但是有一种更简单的方法来更改字体大小而无需导入任何内容:
self.lb = Listbox(f,selectmode=MULTIPLE, bd=1, height=10, font=('Times', 14))