반응형
파이썬에서 위젯을 배치하는 몇 가지 방법이 있습니다.
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()의 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()
button1.pack(side=RIGHT)
button2.pack(side=RIGHT)
button3.pack(side=RIGHT)
button4.pack(side=RIGHT)
button1.pack(side=BOTTOM)
button2.pack(side=BOTTOM)
button3.pack(side=BOTTOM)
button4.pack(side=BOTTOM)
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()
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()
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()
반응형
'Python' 카테고리의 다른 글
(파이썬) 버튼 위젯 크기 변경하기 (0) | 2023.12.01 |
---|---|
(파이썬) SQLite 데이터베이스에 연결해서 테이블 출력하기 SELECT (0) | 2023.11.28 |
(파이썬) Label 위젯 이미지 출력하기 (0) | 2023.11.25 |
(파이썬) tkinter: 윈도우 구이(GUI) 프로그램 시작하기 (0) | 2023.11.25 |
(파이썬) random.randint(): 덧셈 게임 만들기 (0) | 2023.11.24 |