TKinter ListBox 项目高度

TKinter ListBox item height

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

tkinter 列表框中行的高度取决于文本字体的大小。这可以为整个小部件设置(尽管不是单独的行),可以作为初始化时的 font= 可选参数,也可以使用列表框 post-initiatlization 的 .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,我相信正确的做法是import/use字体实用程序现在是 from tk import fontsmall_font = font.Font(...).

行高确实取决于字体大小,但有一种无需导入任何内容即可更改字体大小的更简单方法:

self.lb = Listbox(f,selectmode=MULTIPLE, bd=1, height=10, font=('Times', 14))