Пытаюсь установить scrollbar на базе Tkinter Python 3 в GUI своей проги (самодельная бд), пока что не получается победить. Выводится рамка скроллбара без бегунка, но даже рамка выводится не на высоту отображаемого окна, а на всю высоту выведенного списка, часть которого скрыта из-за разрешения окна. Прикрепляю скрин
Граф. интерфейс должен выводить список из бд, можно отметить галками строки, по нажатию на пелпк исправить или подтвердить строки меняют статус, идея очень простая.
Начитавшись форумов пришел к выводу что нужно использовать frame_main для всего окна, в нем будут установлены grid-м frame_canvas и кнопки, а уже в frame_canvas pack-м будут установлены canvas для вывода списка из бд и scrollbar.
(прикрепляю мою схему моей логики)
Но по итогу отображается лишь рамка без бегунка, а также высота рамки отображена на всю высоту списка, и не ограничена высотой окна интерфейса.
Подскажите, в чем я не прав и помогите победить скроллбар
Код функции:
def admintable();
import pickle
global flsp1, root4, kolivanov, kolpetrov;
#открытие файлов бд
root4=Tk()
root4.geometry(‘1100x900-0-0’)
root4.title(“Администратор”)
frame_main=Frame(root4)
frame_main.grid(row=0, column=0)
frame_canvas=Frame(frame_main)
frame_canvas.grid(row=0, column=0)
canvas=Canvas(frame_canvas)
canvas.pack(side=RIGHT)
scroll_canv=Scrollbar(frame_canvas, orient=VERTICAL)
scroll_canv.pack(side=LEFT, fill=“y”)
scroll_canv.config(command=canvas.yview)
#вывод списка из бд в canvas
but_0=Button(frame_main, text=‘Подтвердить’, command=ispoladm)
but_1=Button(frame_main, text=‘Исправить’, command=ispolndm_ipsr)
but_0.grid(row=0, column=1, sticky=‘nw’)
but_1.grid(row=0, column=1)
fraim_main.config(width=1100, height=900)
fraim_canvas.config(width=1000, height=600)
canvas.config(width=1100, height=500, yscrollcommand=scroll_canv.set)
root4.mainloop()