Language/Python

[ Python ] tkinter 윈도우 배치 관리자

곽수진 2021. 9. 5. 02:55
반응형

위젯 배치 관리자(layout manager)

→ 컨테이너 안에 있는 위젯의 크기와 위치를 자동으로 관리해줌

pack(압축 배치 관리자), place(절대 배치 관리자 또는 absolute), grid(격자 배치 관리자)

 

 

절대 위치 배치 관리자(place geometry manager)

 

from tkinter import *

window = Tk()

w = Label(window, text = '박스 #1', bg = 'red', fg = 'white')
w.place(x=0, y=0)
w = Label(window, text = '박스 #2', bg = 'green', fg = 'black')
w.place(x=20, y=20)
w = Label(window, text = '박스 #3', bg = 'blue', fg = 'white')
w.place(x=40, y=40)

window.mainloop()

w.place(x=0, y=0) : place()는 좌표에 해당하는 x와 y의 매개변수를 통해 절대 위치를 사용해 위젯을 배치

→ (0,0)에 위젯 배치

 

 

결과값 출력 모습

 

 

격자 배치 관리자(grid geometry manager)

 

from tkinter import *

window = Tk()

l1 = Label(window, text = '화씨')
l2 = Label(window, text = '섭씨')
l1.grid(row = 0, column = 0)
l2.grid(row = 1, column = 0)

e1 = Entry(window)
e2 = Entry(window)
e1.grid(row = 0, column = 1)
e2.grid(row = 1, column = 1)

b1 = Button(window, text = '화씨 -> 섭씨')
b2 = Button(window, text = '섭씨 -> 화씨')
b1.grid(row = 2, column = 0)
b2.grid(row = 2, column = 1)

window.mainloop()

l1 = Label(window, text = '화씨') : 윈도우에 텍스트를 표시하려면 tkinter의 레이블(Label) 위젯이 필요

e1 = Entry(window) : 윈도우에서 사용자로부터 텍스트를 입력받기 위해서는 tkinter의 엔트리(Entry) 위젯이 필요함

→ 엔트리 위젯이 올라갈 곳은 window이므로 Entry(window)로 매개변수를 전달

e1.grid(row = 0, column = 1) : 엔트리 위젯을 (row = 0, column = 1) 위치에 배치

반응형