我遗漏了一些关于尺寸如何在 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 窄。但是 frame1 和 frame2 的宽度相同,从它们的边框可以看出。我认为粘性会将 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)
我错过了什么?在现实生活中,我有一些堆叠的嵌套框架没有像我想要的那样扩展。
谢谢,丹