サイズがTkでどのように伝播するかについて何かが欠けています。これを試して:
from Tkinter import *
root = Tk()
frame1 = Frame(root, border=4, relief=RIDGE)
frame1.grid(sticky=E+W)
frame2 = Frame(root, border=4, relief=RIDGE)
frame2.grid(sticky=E+W)
label1 = Label(frame1, text='short', background='white')
label1.grid(sticky=E+W)
label2 = Label(frame2, text='quite a bit longer', background='white')
label2.grid(sticky=E+W)
root.mainloop()
label1 は frame1 の内側にあり、label2 は frame2 の内側にあります。白い背景からわかるように、label1 は label2 よりも狭くなります。ただし、フレーム 1 とフレーム 2 は、境界からわかるように同じ幅です。粘着性により、label1 がその親と同じ幅になるように拡張されると思いました。
label1 と label2 を同じフレーム内に配置すると、label1 は label2 と同じ幅になります。
frame1 = Frame(root, border=4, relief=RIDGE)
frame1.grid(sticky=E+W)
label1 = Label(frame1, text='short', background='white')
label1.grid(sticky=E+W)
label2 = Label(frame1, text='quite a bit longer', background='white')
label2.grid(sticky=E+W)
私は何が欠けていますか?実生活では、ネストされたフレームが積み重なっていて、思い通りに拡張されていません。
ありがとう、ダン