无法正确设置滚动条。下面的代码呈现两个列表框,一个在另一个上,以及两个滚动条。但是,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)
对于这样的布局,最好使用
grid
,而不是pack
。您不能使用pack
做您想做的事情,除非您添加一些额外的框架来帮助布局。在使用pack,您需要创建两个额外的框架:一个用于上半部分,另一个用于下半部分。然后,在框架内,你可以把每个滚动条放在右边,列表框放在左边。最后,把相框叠在一起。在
使用grid,可以将每个listbox/scrollbar对放在不同的行上,listbox在第0列,scrollbar在第1列。在
相关问题 更多 >
编程相关推荐