簡體   English   中英

Python Tkinter-多個列表框和滾動條

[英]Python Tkinter - multiple listboxes and scrollbars

在正確設置滾動條時遇到問題。 以下代碼呈現2個列表框,一個在另一個列表框的頂部,以及2個滾動條。 但是,滾動條跨越了兩個框的整個高度,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,您需要創建兩個其他框架:一個用於上半部,另一個用於下半部。 然后,在框架內,您可以將每個滾動條放在右邊,將列表框放在左邊。 最后,將框架彼此疊放。

使用網格,您可以將每個列表框/滾動條對放在不同的行上,列表框在第0列,滾動條在第1列。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM