Python

(파이썬) 위젯 배치: pack place grid frame

코딩ABC 2023. 11. 26. 17:19
반응형

파이썬에서 위젯을 배치하는 몇 가지 방법이 있습니다.
Pack()을 이용해서 상하 또는 좌우로 배치하거나 Grid()를 이용해서 테이블(표) 형식으로 배치할 수 있으며, place()를 이용해서 절대 위치(좌표)에 배치할 수 있습니다.

1. pack()을 이용한 배치
간단하게 위젯을 배치할 수 있습니다. 기본으로 위에서 아래로 배치됩니다.

from tkinter import *

w = Tk()

button1 = Button(w, text='버튼 1', bg='red')
button2 = Button(w, text='버튼 2', bg='green')
button3 = Button(w, text='버튼 3', bg='blue')
button4 = Button(w, text='버튼 4', bg='orange')

button1.pack()
button2.pack()
button3.pack()
button4.pack()

w.mainloop()

(파이썬) 위젯 배치: pack place grid frame


Pack()의 size 속성을 이용해서 좌에서 우, 우에서 좌, 아래에서 위로 배치하도록 할 수 있다.

from tkinter import *

w = Tk()

button1 = Button(w, text='버튼 1', bg='red')
button2 = Button(w, text='버튼 2', bg='green')
button3 = Button(w, text='버튼 3', bg='blue')
button4 = Button(w, text='버튼 4', bg='orange')

button1.pack(side=LEFT)
button2.pack(side=LEFT)
button3.pack(side=LEFT)
button4.pack(side=LEFT)

w.mainloop()

(파이썬) 위젯 배치: pack place grid frame

button1.pack(side=RIGHT)
button2.pack(side=RIGHT)
button3.pack(side=RIGHT)
button4.pack(side=RIGHT)

(파이썬) 위젯 배치: pack place grid frame



button1.pack(side=BOTTOM)
button2.pack(side=BOTTOM)
button3.pack(side=BOTTOM)
button4.pack(side=BOTTOM)

(파이썬) 위젯 배치: pack place grid frame


2. grid()를 이용한 배치

Grid()는 위젯을 row와 column 속성을 이용해서 테이블(표) 형태로 배치합니다.

from tkinter import *

w = Tk()

button1 = Button(w, text='버튼 1', bg='red')
button2 = Button(w, text='버튼 2', bg='green')
button3 = Button(w, text='버튼 3', bg='blue')
button4 = Button(w, text='버튼 4', bg='orange')

button1.grid(row=0, column=0)
button2.grid(row=0, column=1)
button3.grid(row=1, column=0)
button4.grid(row=1, column=1)

w.mainloop()

(파이썬) 위젯 배치: pack place grid frame


3. place()를 이용한 배치

Place()의 x, y 속성을 이용해서 위젯을 x,y 좌표에 배치할 수 있습니다.

from tkinter import *

w = Tk()

button1 = Button(w, text='버튼 1', bg='red')
button2 = Button(w, text='버튼 2', bg='green')
button3 = Button(w, text='버튼 3', bg='blue')
button4 = Button(w, text='버튼 4', bg='orange')

button1.place(x=10, y=0)
button2.place(x=100, y=0)
button3.place(x=10, y=30)
button4.place(x=100, y=30)

w.mainloop()

(파이썬) 위젯 배치: pack place grid frame



4. frame()을 이용해서 배치하기
Frame()은 컨테이너 역할을 하는 것으로 frame 안에 위젯을 배치하고 frame을 원하는 위치에 배치할 수 있습니다.

from tkinter import *

w = Tk()
#w.geometric("300x400")
frame = Frame(w)

button1 = Button(frame, text='버튼 1', bg='red')
button2 = Button(frame, text='버튼 2', bg='green')
button3 = Button(frame, text='버튼 3', bg='blue')
button4 = Button(frame, text='버튼 4', bg='orange')

button1.pack()
button2.pack()
button3.pack()
button4.pack()

frame.place(x=50, y=30)

w.mainloop()

(파이썬) 위젯 배치: pack place grid frame

 

반응형