2009-09-17 2 views
7

크기가 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을 부모와 같은 너비로 확장 할 것이라고 생각했습니다. 나는 무엇을 놓치고

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) 

: 나도 같은 프레임 안에 LABEL1 및 라벨 2를 넣으면

후 LABEL1는 라벨 2로 넓은 나온다? 실생활에서는, 내가 원하는대로 확장되지 않는 스택 된 중첩 프레임이 있습니다.

감사합니다, 댄

답변

8

행과 열은 성장 또는 마스터에 여분의 공간을 채우기 위해 축소 방법에 대해 설명합니다 "무게"를 가지고있다. 기본적으로 행 또는 열의 가중치는 0입니다. 즉, 열을 채우도록 레이블에 지시했지만 열에 마스터 프레임을 채우라고 지시하지 않았 음을 의미합니다.

이 문제를 해결하려면 열에 무게를 지정하십시오. , grid에 대한 추가 정보를 원하시면

frame1.columnconfigure(0, weight=1) 
frame2.columnconfigure(0, weight=1) 

을 루비, TCL, 펄과 파이썬 예제와 함께 the grid page on tkdocs.com

+0

감사를 참조하십시오 모든 양의 정수는이 특정한 경우에 할 것입니다. 실제 프로그램에서, 나는 명백한 효과없이 가중치를 추가하려고 시도했다. 돌아가서 올바른 프레임에 추가하는지 확인하겠습니다. –