Как добавить scrollbar python, использовал для кода grid?
Простите я новичок, пробовал сделать скрол бар для своего окна tkinter, использовал пример ниже, только он создает текст_бокс, и размещает скрол бар к нему, а мне нужен скрол бар именно по всему окну tkinter, метод grid
from tkinter import *
ws = Tk()
ws.title('PythonGuides')
ws.config(bg='#5F734C')
frame = Frame(
ws,
bg='#A8B9BF'
)
text_box = Text(
ws,
height=13,
width=32,
font=(12)
)
text_box.grid(row=0, column=0)
text_box.config(bg='#D9D8D7')
sb = Scrollbar(
ws,
orient=VERTICAL
)
sb.grid(row=0, column=1, sticky=NS)
text_box.config(yscrollcommand=sb.set)
sb.config(command=text_box.yview)
ws.mainloop()
Ответы (1 шт):
Автор решения: FotonPC
→ Ссылка
Вот вроде то что вы просили. Если например не использовать грид , а использовать pack, то можно сделать чтобы оно на все окно расширялось при любой размере. а сейчас можно ограничить размеры окна. Реализовано по схеме как в комментариях, надеюсь поможет
from tkinter import *
ws = Tk()
ws.title('PythonGuides')
ws.config(bg='#5F734C')
canvas = Canvas(ws, bg='#5F734C', width=183)
scroll = Scrollbar(ws, command=canvas.yview)
canvas.config(yscrollcommand=scroll.set)
scroll.grid(row=0, column=1, sticky=NS)
canvas.grid(row=0, column=0)
frame = Frame(canvas)
canvas.create_window((0, 0), window=frame, anchor=NW)
def conf(event):
canvas.configure(scrollregion=canvas.bbox('all'))
frame.bind('<Configure>', conf)
text_box = Text(
frame,
height=20,
width=20,
font=(12)
)
text_box.grid(row=0, column=0)
text_box.config(bg='#D9D8D7')
butt = Button(frame, text='567')
butt.grid(row=1, column=0)
ws.mainloop()