stickyを指定しても均等に配置されない
tkinterでは起こりがちな問題なんですが,記事が見当たらなかったのでここに書いておきます.
まず,下の図をご覧ください.
tkinterのウィジェットはpack,grid,placeで配置できます.その際にstickyを指定やることで引き延ばし方向が指定できるのですが,これ例だと上手くいってませんね...
import tkinter as tk
root = tk.Tk()
frame = tk.LabelFrame(root, text="label frame")
frame.grid(row=0, column=0)
btn = tk.Button(frame, text="button")
btn.grid(row=0, column=0, sticky=tk.NSEW)
label = tk.Label(frame, text="label")
label.grid(row=1, column=0, sticky=tk.NSEW)
root.mainloop()
.grid_rowconfigureを使う
.grid_rowconfigureと.grid_columnconfigureを指定することで解決します.
指定は行数・列数分行う必要があります.
frame.grid_columnconfigure(0, weight=1)
frame.grid_rowconfigure(0, weight=1)