Как добавить 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()
→ Ссылка