У меня есть LabelFrame и несколько ярлыков внутри. Я хотел бы вертикально прокрутить ярлыки, и это работает. Я хотел бы увеличить окно по горизонтали, и, соответственно, увеличить виджет, но это не работает. Я должен использовать frameTwo.grid(row=0, column=0, sticky='nsew')
как в комментарии, но полоса прокрутки больше не работает.
Может ли кто-нибудь мне помочь?
import tkinter as tk
root = tk.Tk()
container = tk.Frame(root)
container.grid(row=0, column=0, sticky='nsew')
canvas = tk.Canvas(container)
scroll_y = tk.Scrollbar(container, orient="vertical", command=canvas.yview)
frameTwo = tk.Frame(canvas)
# group of widgets
stepOne = tk.LabelFrame(frameTwo, text=" 1. This is my test")
stepOne.grid(row=0, column=0, padx=10, pady=0, sticky='nsew')
for i in range(20):
tk.Label(stepOne, text='label %i' % i).grid(row=i, column=0, pady=2, sticky='nsew')
# put the frame in the canvas
canvas.create_window(0, 0, anchor='nw', window=frameTwo)
# make sure everything is displayed before configuring the scrollregion
canvas.update_idletasks()
canvas.configure(scrollregion=canvas.bbox('all'),
yscrollcommand=scroll_y.set)
canvas.grid(row=0, column=0, sticky='nsew')
scroll_y.grid(row=0, column=1, sticky='ns')
root.grid_columnconfigure(0, weight=1)
root.grid_rowconfigure(0, weight=1)
container.grid_columnconfigure(0, weight=1)
container.grid_rowconfigure(0, weight=1)
#frameTwo.grid(row=0, column=0, sticky='nsew')
frameTwo.grid_columnconfigure(0, weight=1)
canvas.grid_columnconfigure(0, weight=1)