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) 위치에 배치
반응형