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

Tkinter grid()를 활용한 위젯 수평 중앙 정렬 완벽 가이드

이름 그대로 그리드(grid)는 행(row)과 열(column)의 집합을 의미합니다. Tkinter의 그리드 관리자도 같은 원리로 동작하며, 위젯을 2차원 평면 위에 배치하여 세로와 가로 위치를 기준으로 정렬해 줍니다.

이번 글에서는 창 크기를 조절할 때에도 위젯이 항상 화면 중앙에 위치하도록 만드는 방법을 살펴보겠습니다. grid(row, column) 속성을 사용하면 레이블 위젯을 수평 방향으로 중앙에 배치할 수 있고, sticky 속성과 함께 rowconfigure, columnconfigure의 weight 값을 설정하면 창 크기가 변해도 위젯의 위치가 흔들리지 않습니다.

예제 코드

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

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

# 프레임의 크기 설정
win.geometry("750x250")

# 모든 경우에 대해 창이 중앙 정렬 상태를 유지하도록 설정
win.grid_rowconfigure(0, weight=1)
win.grid_columnconfigure(0, weight=1)

# 레이블 생성
label = Label(win, text="This is a Centered Text", font=('Aerial 15 bold'))
label.grid(row=2, column=0)

label.grid_rowconfigure(1, weight=1)
label.grid_columnconfigure(1, weight=1)

win.mainloop()

실행 결과

위 코드를 실행하면 텍스트 레이블 위젯이 수평 방향으로 중앙에 정렬된 창이 나타납니다. 창의 크기를 자유롭게 조절해도 위젯의 위치는 전혀 영향을 받지 않고 항상 중앙을 유지합니다.

Tkinter grid()를 활용한 위젯 수평 중앙 정렬 완벽 가이드

핵심 포인트 정리

  • grid_rowconfigure / grid_columnconfigure: weight 값을 1로 지정하면 해당 행·열이 남은 공간을 균등하게 차지하여 중앙 정렬 효과를 얻습니다.
  • sticky 속성: 위젯이 셀 안에서 늘어나거나 특정 방향으로 붙는 것을 제어할 수 있습니다.
  • geometry(): 초기 창 크기를 지정하여 레이아웃을 확인하기 좋은 환경을 만듭니다.