2013-04-22 10 views
1

두 번째 프레임의 이상한 동작이 발생합니다. "Repo Clone"및 "Pull"버튼을 전체 열 크기로 어떻게 조절합니까? 출력의 그림 :Tkinter strange 프레임 크기

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() 

답변

2

하부 프레임 위젯의 자연 크기는 프레임보다 작다. Tkinter는 여분의 공간을 할당하는 방법과 장소를 알아야합니다. 당신은 열 및/또는 행 "무게"를 부여하여이 정보를 알 수 있습니다.

귀하의 경우 열 1에 external의 무게를 1로 지정하면 프레임의 빈 공간을 채우기 위해 확장됩니다.

external.grid_columnconfigure(1, weight=1)