2014-02-05 2 views
0

, имеющих проблемы с правильной настройкой полос прокрутки. Следующий код отображает 2 списка, один поверх другого и 2 полосы прокрутки. Однако полоса прокрутки охватывает всю высоту обоих полей, а полоса прокрутки2 - только второй список (lb2). Мне нужно, чтобы полоса прокрутки и фунт была одинаковой высоты, а полосы прокрутки2 и lb2 были одинаковой высоты. Вот скриншот того, что я в настоящее время http://tinyurl.com/mxo9llbPython Tkinter - множество списков и полос прокрутки

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) 

ответ

1

Для такого макета, вы лучше использовать grid вместо pack. Вы не можете делать то, что хотите, с помощью pack, если вы не добавите дополнительные фреймы, чтобы помочь с макетом.

Используя пакет, вам необходимо создать еще два кадра: один для верхней половины и один для нижней половины. Затем в рамке вы можете поместить каждую полосу прокрутки справа и список слева. Наконец, упакуйте кадры друг на друга.

Используя сетку, вы должны поместить каждую пару списка/полосы прокрутки в другую строку, со списком в столбце нуль и полосой прокрутки в столбце один.

Смежные вопросы