我在下面有以下示例代码。有没有办法扩展列表框,单击时显示100个数字中的10个?选择其中一个数字时,列表框是否会再次隐藏其他数字?
from tkinter import *
root = Tk()
scrollbar = Scrollbar(root)
scrollbar.pack(side=RIGHT, fill=Y)
listbox = Listbox(root)
listbox.pack()
for i in range(100):
listbox.insert(END, i)
# attach listbox to scrollbar
listbox.config(yscrollcommand=scrollbar.set, height = 1)
scrollbar.config(command=listbox.yview)
mainloop()

答案 0 :(得分:0)
您可以将事件处理程序连接到<Button-1>
信号,并且每次都切换列表框高度:
def listbox_clicked(event):
listbox = event.widget
if listbox['height'] == 1:
listbox.config(height=10)
else:
listbox.config(height=1)
listbox.bind('<Button-1>', listbox_clicked)
答案 1 :(得分:0)
我相信包装选项会有所帮助。
scrollbar.pack(side=RIGHT, fill=Y, expand=True)
listbox.pack(fill=Y, expand=True)
答案 2 :(得分:0)
非常感谢您的帮助,但我需要的只是一个组合框!