2016-12-25 1 views
2

내가 python3에 대한 Tkinter의이 같은 프레임에 버튼을 넣어 : 요소를 Tkinter의 오른쪽 하단 모서리에 고정시키는 방법?

b2_1 = Button(frame1, text='aaaaaaaaaaaa') 
b2_1.pack(pady=20, side=RIGHT) 

b2_2 = Button(frame1, text='bbbbbbbbbbbbbbb') 
b2_2.pack() 

내가 오른쪽으로, 또한 바닥에뿐만 아니라 충실 할 b2_1 및 b2_2 버튼을 원하는, 바로 다른 위에 하나. 어떻게하면됩니까?

답변

1

pack이 경우에는 이상적인 지오메트리 관리자가 아닙니다. 당신은 하나의 아이를 하나씩 붙들고 자하는 프레임에서 팩을 사용합니다. 내가 아직 '자연스러운'사용을 볼 수있는 장소 관리자도 있습니다.

이 경우 grid manager을 사용하십시오. 이것은 팩보다 덜 간단하지만 원하는 유연성을 가지고 있습니다. 그리드에 포함될 행과 열의 수를 파악하면 .grid(column=lastcol,row=lastrow)을 사용하면 배치가 간단 해집니다. 테리 얀 리디 (Terry Jan Reedy)는 또한 빈 열/행이 표시되지 않기 때문에 너무 큰 숫자를 사용하는 방법을 제안했지만 나는 그리드가 어땠는지 알고 싶어 그리드가 정확히 어떻게 보이는지 알고 있습니다.

+0

나는 격자를 사용에 동의합니다. '오른쪽 하단'은 첫 번째가 아닌 마지막 열을 의미합니다 ;-). 빈 행과 열은 표시되지 않으므로 '너무 큼'행과 열도 사용할 수 있습니다. 예를 들어'.grid (column = 99, row = 99)'(또는 위의 버튼의 경우'row = 98')은 보통 작동해야합니다. –

2

"어떻게하면 오른쪽 하단에 무엇을 넣을 수 있습니까?" 문맥에서 적절하게 대답 될 수 없다. 정말 창문에 무엇이 있는지에 달려 있습니다. place을 사용하면 원하는 위치에 쉽게 위젯을 배치 할 수 있지만 거의 적합한 솔루션은 아닙니다. 당신이 정말로 (그리드에 물건을 배치 할 경우

그리드는 비교적 이해하기 쉽게 예 :. 하단과 상단에 하나 이상에 몇 행이 가장 오른쪽 열

팩 수 예를 들어 왼쪽과 오른쪽 프레임을 만들고 오른쪽 프레임의 맨 아래에 단추를 포장 할 수 있습니다.

또한 사용 가능성이 있습니다 예를 들어, 그리드를 사용하여 주 위젯을 머리글, 주 영역 및 바닥 글에 배치 한 다음 팩을 사용하여 바닥 글에 단추를 배열 할 수 있습니다.

문자 그대로 버튼이 2 개만 필요하며 오른쪽 하단에 누적되도록하려면 grid을 사용하는 것이 좋습니다. 맨 아래에 행을 추가하는 것 외에도 적어도 하나의 다른 행과 여분의 공간을 차지하는 다른 하나의 행이 있는지 확인해야합니다. 행과 열은 비어있을 수 있지만 "가중치"를 갖도록 구성되어야합니다. 예를 들어

:

frame1.grid_rowconfigure(0, weight=1) 
frame1.grid_columnconfigure(0, weight=1) 

# give the empty row 0 and column 0 a non-zero weight 
# so that grid gives all extra space to those columns. 

b2_1.grid(row=1, column=1) 
b2_2.grid(row=2, column=1) 
관련 문제