我无法找到适合可查看列表框区域的列表框项目数,因此您无需向下滚动。 对不起,如果这是微不足道的,我很难搞清楚这个。
我写了一个小例子来说明我的问题:
from Tkinter import *
from tkFont import Font
myfont=Font(family='Times', size=12)
a=Listbox(activestyle='dotbox', font=myfont)
a.insert(END, *xrange(100))
a.pack(side='left', fill=BOTH, expand=1)
mainloop()
所以现在我有一个列表框,但只有一些项目可见。如何在不离开可视区域的情况下计算出多少可以适合?任何见解都会受到欢迎。谢谢!
答案 0 :(得分:1)
tkFont高度的大小存储在linespace
指标中,可通过metrics()
方法访问 -
myfont.metrics()['linespace']
#returns 19 for myfont as initiated in the question
可以通过winfo_height()
检索Listbox小部件的高度。总计 -
visible_lines= a.winfo_height()/myfont.metrics()['linespace']
资源 - http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/fonts.html
答案 1 :(得分:0)
列表框有一个选项height
,它是要显示的文本行数。默认值为10.由于您保留默认值,因此您的框显示10行,包含'0'到'9'。我通过检查常规使用的http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/index.html来发现这一点。它只有一些错误。