Python列表框在单击后展开和隐藏

Python列表框在单击后展开和隐藏,python,tkinter,listbox,Python,Tkinter,Listbox,我有下面的示例代码。是否有办法展开列表框,在单击时显示100个数字中的10个?当选择其中一个数字时,列表框是否会再次隐藏其他数字 从tkinter导入* root=Tk() 滚动条=滚动条(根) 滚动条.pack(侧=右,填充=Y) 列表框=列表框(根) listbox.pack() 对于范围(100)内的i: 列表框.插入(结束,i) #将列表框附加到滚动条 配置(yscrollcommand=scrollbar.set,高度=1) scrollbar.config(命令=listbox.y

我有下面的示例代码。是否有办法展开列表框,在单击时显示100个数字中的10个?当选择其中一个数字时,列表框是否会再次隐藏其他数字

从tkinter导入*
root=Tk()
滚动条=滚动条(根)
滚动条.pack(侧=右,填充=Y)
列表框=列表框(根)
listbox.pack()
对于范围(100)内的i:
列表框.插入(结束,i)
#将列表框附加到滚动条
配置(yscrollcommand=scrollbar.set,高度=1)
scrollbar.config(命令=listbox.yview)

mainloop()
您可以将事件处理程序连接到
信号,并每次切换列表框高度:

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)
def列表框\单击(事件):
listbox=event.widget
如果列表框['height']==1:
配置(高度=10)
其他:
listbox.config(高度=1)
listbox.bind(“”,listbox_单击)

我相信包装选项会有所帮助

scrollbar.pack(side=RIGHT, fill=Y, expand=True)
listbox.pack(fill=Y, expand=True)

非常感谢你的帮助,但我所需要的只是一个组合框

这是一个比我的帖子更好的答案,但你需要将两者都包括在内,才能让它很好地工作。