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

Tkinter에서 프레임 중앙에 위젯을 배치하는 방법

Tkinter에서 프레임의 정중앙에 객체(위젯)를 배치하려면 place 메서드를 활용하면 됩니다. 이 글에서는 실제 예제를 통해 버튼을 창의 가운데에 배치하는 방법을 단계별로 살펴보겠습니다.

구현 단계

  • 필요한 라이브러리를 임포트하고 tkinter 프레임 인스턴스를 생성합니다.
  • win.geometry 메서드를 사용해 프레임(윈도우)의 크기를 설정합니다.
  • 버튼 위젯을 생성하고 적절한 텍스트로 라벨링합니다.
  • place 메서드에 x, y 좌표값을 전달하여 버튼의 위치를 지정합니다.
  • 위젯의 중심을 상대 좌표 0.5 위치에 배치합니다. 즉, (relx=0.5, rely=0.5)로 설정하고, anchor=CENTER 옵션을 추가하여 기준점을 위젯의 중앙으로 맞춥니다.
  • 마지막으로 애플리케이션 윈도우의 mainloop를 실행합니다.

예제 코드

# Tkinter 라이브러리 임포트
from tkinter import *
from tkinter import ttk

# Tkinter 프레임 인스턴스 생성
win = Tk()

# 윈도우 크기 정의
win.geometry("750x350")

# 프레임 안에 버튼 생성
button = ttk.Button(win, text="Button at the Center")
button.place(relx=0.5, rely=0.5, anchor=CENTER)

win.mainloop()

실행 결과

이 코드를 실행하면 다음과 같은 출력 창이 나타납니다.

Tkinter에서 프레임 중앙에 위젯을 배치하는 방법

참고: 반응형 중앙 정렬

이 방식의 장점은 윈도우 크기를 조절해도 버튼이 자동으로 화면 중앙에 위치한다는 점입니다. 직접 창 크기를 변경해 보면 버튼 위젯이 항상 중앙을 유지하는 것을 확인할 수 있습니다.

이는 relxrely가 픽셀 값이 아닌 부모 컨테이너 크기에 대한 상대 비율(0~1)로 동작하기 때문입니다. 따라서 고정 좌표 대신 상대 좌표를 사용하면 어떤 해상도나 창 크기에서도 일관된 중앙 정렬 레이아웃을 구현할 수 있습니다.