我遗漏了一些关于 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)
我缺少什么?在现实生活中,我有一些堆叠的嵌套框架,它们没有按照我想要的方式扩展。
谢谢,
担