Python tkinter 강좌 : 제 11강 – 위젯 배치 : grid

   

grid (셀 단위 배치)


1

grid을 이용하여 위젯들을 배치할 수 있습니다.



grid 사용


import tkinter

window=tkinter.Tk()
window.title("YUN DAE HEE")
window.geometry("640x400+100+100")
window.resizable(False, False)

b1=tkinter.Button(window, text="(0, 0)")
b2=tkinter.Button(window, text="(0, 1)", width=20)
b3=tkinter.Button(window, text="(0, 2)")

b4=tkinter.Button(window, text="(1, 0)")
b5=tkinter.Button(window, text="(1, 1)")
b6=tkinter.Button(window, text="(1, 3)")

b7=tkinter.Button(window, text="(2, 1)")
b8=tkinter.Button(window, text="(2, 2)")
b9=tkinter.Button(window, text="(2, 4)")

b1.grid(row=0, column=0)
b2.grid(row=0, column=1)
b3.grid(row=0, column=2)

b4.grid(row=1, column=0, rowspan=2)
b5.grid(row=1, column=1, columnspan=3)
b6.grid(row=1, column=3)

b7.grid(row=2, column=1, sticky="w")
b8.grid(row=2, column=2)
b9.grid(row=2, column=99)

window.mainloop()


b1.grid(row=0, column=0)
b2.grid(row=0, column=1)
b3.grid(row=0, column=2)

b4.grid(row=1, column=0, rowspan=2)
b5.grid(row=1, column=1, columnspan=3)
b6.grid(row=1, column=3)

b7.grid(row=2, column=1, sticky="w")
b8.grid(row=2, column=2)
b9.grid(row=2, column=99)

위젯이름.grid(파라미터1, 파라미터2, 파라미터3, ...)을 사용하여 해당 윈도우 창에 표시할 위젯의 배치 속성을 설정할 수 있습니다.

배치되는 우선 순위는 가장 처음 선언한 grid부터 배치됩니다.

grid셀 단위로 배치되며, 한 번에 여러 셀건너 뛰어 배치할 수 없습니다.

grid()pack()같이 사용될 수 없으며, place()와는 같이 사용할 수 있습니다.


  • Tip : column99로 위치시키더라도, 그 전 grid 배치에서 최대 column의 값3이 였으므로 자동적으로 4로 할당됩니다.



grid Parameter


이름의미기본값속성
row행 위치0상수
column열 위치0상수
rowspan행 위치 조정1상수
columnspan열 위치 조정1상수
sticky할당된 공간 내에서의 위치 조정-n, e, s, w, nw, ne, sw, se
ipadx위젯에 대한 x 방향 내부 패딩0상수
ipady위젯에 대한 y 방향 내부 패딩0상수
padx위젯에 대한 x 방향 외부 패딩0상수
pady위젯에 대한 y 방향 외부 패딩0상수


  • row, column : 해당 구역으로 위젯을 이동시킨다.
  • rowspan, columnspan : 현재 배치된 구역에서 위치를 조정한다.
  • sticky : 현재 배치된 구역 안에서 특정 위치로 이동시킨다.


도움이 되셨다면 광고 클릭 부탁드립니다.

⤧  Next post Python tkinter 강좌 : 제 12강 – 위젯 배치 : place ⤧  Previous post Python tkinter 강좌 : 제 10강 – 위젯 배치 : pack