Мне не хватает чего-то о том, как размеры распространяются в Tk. Попробуйте следующее:Распространение размера менеджера геометрии сетки Tkinter (с липкой)
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()
этикетка1 есть внутри рама1, а этикетка2 внутри рама2. label1 выходит уже, чем label2, как видно на белом фоне. Но frame1 и frame2 имеют ту же ширину, что и их границы. Я думал, что липкость расширит label1 до той же ширины, что и его родитель.
Если я ставлю Label1 и LABEL2 в том же кадре, то label1 выходит так широко, как Метка2:
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)
Что мне не хватает? В реальной жизни у меня есть несколько сложенных вложенных фреймов, которые не расширяются, как хотелось бы.
Спасибо, Dan
Спасибо. В реальной программе я попытался добавить вес, без видимого эффекта. Я вернусь и обязательно добавлю их в правильные рамки. –