Tkinter奇怪的帧大小

时间:2013-04-22 16:02:25

标签: python size tkinter frame

我得到了第二帧的奇怪行为。如何将“克隆回购”和“拉”按钮调整为完整列大小?输出图片:

example

源:

from Tkinter import *

root = Frame()
root.grid(sticky=N+S+E+W)

local=LabelFrame(root, text="local")
local.grid(row=0, sticky=E+W)
external=LabelFrame(root, text="external")
external.grid(row=1, sticky=E+W)

StatusButton=Button(local, text="status")
StatusButton.grid(row=0, columnspan=2, sticky=W+E)

AddFileEntry=Entry(local)
AddFileEntry.grid(row=1, column=0)

AddFileButton=Button(local, text="add changed/new file(s)")
AddFileButton.grid(row=1, column=1, sticky=W+E)

CommitEntry=Entry(local)
CommitEntry.grid(row=2, column=0)

CommitButton=Button(local, text="Comment on changes")
CommitButton.grid(row=2, column=1, sticky=W+E)

CloneRepoEntry=Entry(external)
CloneRepoEntry.grid(row=0, column=0)

CommitRepoButton=Button(external, text="Clone repo")
CommitRepoButton.grid(row=0, column=1, sticky=W+E)

PushButton=Button(external, text="Push")
PushButton.grid(row=1, column=0, sticky=W+E)

PullButton=Button(external, text="Pull")
PullButton.grid(row=1, column=1, sticky=W+E)

root.mainloop()

1 个答案:

答案 0 :(得分:2)

底部框架中小部件的自然尺寸小于框架。 Tkinter需要知道如何/在何处分配额外空间。你可以通过给出一个columm和/或行“weight”来告诉它这个信息。

在您的情况下,给external的第1列权重为1将导致它展开以填充框架中的空白区域。

external.grid_columnconfigure(1, weight=1)