Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 Tkinter에서 위젯과 프레임을 겹쳐 배치하는 방법

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()

실행 결과

위 코드를 실행하면 프레임 안에 레이블과 버튼 위젯이 겹쳐진 형태로 표시되는 윈도우가 화면에 나타납니다.

파이썬 Tkinter에서 위젯과 프레임을 겹쳐 배치하는 방법