Tkinter 애플리케이션에서 위젯을 정렬하고 배치하는 방법은 크게 pack(), grid(), place() 세 가지가 있습니다. 그중에서도 두 개 이상의 위젯이나 프레임을 서로 겹쳐서 배치하려면 place() 지오메트리 매니저를 사용하는 것이 가장 효과적입니다.
place()는 위젯을 부모 컨테이너를 기준으로 한 절대 좌표(x, y)에 배치합니다. 따라서 여러 위젯에 동일한 좌표를 지정해 주면 해당 위치에 위젯들이 포개져 나타나게 됩니다.
예제
# 필요한 라이브러리 임포트
from tkinter import *
from tkinter import ttk
# tkinter 프레임 인스턴스 생성
win = Tk()
# tkinter 윈도우 크기 설정
win.geometry("700x350")
# 프레임 추가
frame1 = Frame(win, bg="LightPink1")
# 레이블(Label) 위젯 추가
Label(frame1, text="Welcome Folks!", font=('Aerial 18 bold italic'), background="white").pack(pady=50)
frame1.place(x=260, y=50)
# 프레임 안에 버튼(Button) 위젯을 같은 좌표에 배치하여 겹치기
ttk.Button(frame1, text="Button").place(x=260, y=50)
win.mainloop()실행 결과
위 코드를 실행하면 프레임 안에 레이블과 버튼 위젯이 겹쳐진 형태로 표시되는 윈도우가 화면에 나타납니다.
