Как прикрепить полосу прокрутки к рамке внутри labelframe - PullRequest
0 голосов
/ 25 марта 2019

У меня есть несколько строк кода, которые поместили frame внутри labelframe, и я хочу прикрепить scrollbar к frame для прокрутки списка.

Th полоса прокрутки плохо прикрепляется к frame, а listbox ниже listbox. Я искал на этом сайте, и все ответы требуются, чтобы scrollbar был прикреплен к frame, который сделал это, и я не получаю желаемого результата.

import tkinter as tk

root = tk.Tk()
root.geometry("400x400")


lab = tk.LabelFrame(root, text="MY LABELFRAME")
lab.pack(fill=tk.BOTH, expand=True)

 # this is the frame i have created to insert the listbox
fr = tk.Frame(lab, width=200, height=200, bg="brown")
fr.place(x=100, y=100)


list1 = tk.Listbox(fr, width=20, height=15)
list1.pack(fill=tk.BOTH, expand=True)

scrollbar = tk.Scrollbar(fr, orient='vertical')
scrollbar.pack(fill=tk.Y, side=tk.RIGHT)
list1.configure(yscrollcommand=scrollbar.set)
scrollbar.configure(command=list1.yview)


root.mainloop()

1 Ответ

0 голосов
/ 25 марта 2019

Если вам нужен список слева и полоса прокрутки справа, это именно то, как вы должны их упаковать.Не устанавливая явно сторону, pack собирается поместить список в верхнюю часть фрейма, оставляя место только для нижней части полосы прокрутки.

Решение состоит в том, чтобы явно дать атрибут sideпри упаковке списка:

list1.pack(fill=tk.BOTH, expand=True, side="left")

На следующем снимке экрана немного сложно увидеть, поскольку полоса прокрутки не активна, но вы можете просто заметить тот факт, что полоса прокрутки находится справа от списка.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...