TKinter ListBox项目高度

时间:2015-01-22 19:11:16

标签: python tkinter

有没有办法在初始化时缩小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)

2 个答案:

答案 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))