Python Tkinter多个列表框和滚动条

2024-10-06 11:18:52 发布

您现在位置:Python中文网/ 问答频道 /正文

无法正确设置滚动条。下面的代码呈现两个列表框,一个在另一个上,以及两个滚动条。但是,scrollbar跨越两个框的整个高度,而scrollbar2只是第二个列表框(lb2)。我需要scrollbar和lb的高度相同,scrollbar2和lb2的高度相同。这是我当前拥有的http://tinyurl.com/mxo9llb的屏幕截图

frame = Frame(app,bd=2,relief=SUNKEN)

scrollbar = Scrollbar(frame, orient="vertical")
lb = Listbox(frame, width=30, height=10, yscrollcommand=scrollbar.set)
scrollbar.config(command=lb.yview)

scrollbar.pack(side="right", fill="y")
lb.pack(side="top",fill="both", expand=True)


scrollbar2 = Scrollbar(frame, orient="vertical")
lb2 = Listbox(frame, width=30, height=10, yscrollcommand=scrollbar2.set)
scrollbar2.config(command=lb2.yview)

scrollbar2.pack(side="right",fill="y")
lb2.pack(side="top",fill="both", expand=True)

for item in ad_members:
    lb.insert(END, item)

for item in ad_members:
    lb2.insert(END, item)

frame.pack(side='right',padx=15)

Tags: right高度itemfillframesidepacklb
1条回答
网友
1楼 · 发布于 2024-10-06 11:18:52

对于这样的布局,最好使用grid,而不是pack。您不能使用pack做您想做的事情,除非您添加一些额外的框架来帮助布局。在

使用pack,您需要创建两个额外的框架:一个用于上半部分,另一个用于下半部分。然后,在框架内,你可以把每个滚动条放在右边,列表框放在左边。最后,把相框叠在一起。在

使用grid,可以将每个listbox/scrollbar对放在不同的行上,listbox在第0列,scrollbar在第1列。在

相关问题 更多 >