Фрейм и его содержимое не растягиваются под всю ширину окна. Python 3-10, tkinter

Возникла такая дилемма, создал окно, заполнил его содержимым, но его оказалось слишком много для экрана, поэтому решил добавить вертикальный скролл. Прочитав статьи на форуме сделал это через создание дополнительных фреймов, canvas и скролл с привязкой к canvas.

По итогу: скролл работает, но фрейм с контентом занимает лишь малую часть окна и не растягивается при масштабировании окна. Что нужно исправить?

Использую python 3-10, tkinter

Для наглядности во вложениях пример проблемного окна. Спасибо.

P.S.: всё в разных цветах для того чтобы понимать какой элемент какую площадь окна занимает.

win = Toplevel()
win.geometry('1300x800+100+50')
win.title('Внесение данных в таблицу')
win.grab_set()
root.withdraw()
win.protocol("WM_DELETE_WINDOW", on_closing)
win.resizable(True, False)
win.minsize(550, 100)
win.config(bg="black")

main_f = Frame(win, bg="yellow")
main_f.pack(fill=BOTH, expand=True)

# canvas
my_canvas = Canvas(main_f, bg='blue')
my_canvas.pack(side=LEFT, fill=BOTH, expand=True)

# scrollbar
my_scrollbar = ttk.Scrollbar(main_f, orient=VERTICAL, command=my_canvas.yview)
my_scrollbar.pack(side=RIGHT, fill=Y)

my_canvas.configure(yscrollcommand=my_scrollbar.set)
my_canvas.bind(
    '<Configure>', lambda e: my_canvas.configure(scrollregion=my_canvas.bbox("all"))
)

sec_f = Frame(my_canvas, bg='green')
# sec_f.pack(side=RIGHT, expand=True, fill=BOTH)

my_canvas.create_window((0, 0), window=sec_f, anchor="nw")

f0 = Frame(sec_f, bg="#F1EEE9")
f0.pack(fill=X, padx=10, pady=10)

... и ещё десяток фреймов под различное содержимое ...

label_0 = Label(f0, width=25, text='Город:')
label_0.pack(side=LEFT)

e_city = Entry(f0)
e_city.pack(fill=X, padx=10, ipady=2, expand=True)

... и ещё куча содержимого под каждый фрейм ...

win.mainloop()

Пример проблемного окна


Ответы (0 шт):