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

Tkinter에서 .grid()보다 더 나은 지오메트리 관리자는 무엇일까?

지오메트리 관리자(Geometry Manager)는 Tkinter 라이브러리의 핵심 기능 중 하나로, 윈도우 안에 배치되는 모든 위젯에 구조를 부여합니다. 즉, Tkinter 애플리케이션 창에서 위젯의 레이아웃과 위치를 결정하는 역할을 담당합니다.

Tkinter에서 위젯의 모양과 배치를 지정하기 위해 지오메트리 관리자는 다음과 같은 세 가지 방식을 제공합니다.

  • Pack 지오메트리 관리자
  • Grid 지오메트리 관리자
  • Place 지오메트리 관리자

각 지오메트리 관리자는 서로 다른 스타일과 레이아웃 방식을 가지고 있어, 애플리케이션의 성격에 맞게 선택하여 사용할 수 있습니다. 그중 Pack 지오메트리 관리자가 가장 널리 사용되는 레이아웃 관리자입니다. 패딩(padding), 마진(margin), 채우기(fill), 확장(expand) 같은 속성을 통해 위젯을 캔버스에 손쉽게 배치할 수 있으며, 어떤 Tkinter 애플리케이션에서든 가장 간단하게 사용할 수 있는 방식입니다.

Pack 지오메트리 관리자 예제

# 필요한 라이브러리 임포트
from tkinter import *
from tkinter import ttk

# Tkinter 윈도우 인스턴스 생성
win = Tk()

# 윈도우 크기 설정
win.geometry("700x350")

# 버튼 위젯 생성
ttk.Button(win, text="Button").pack(padx=20, pady=20, expand=1)
win.mainloop()

실행 결과

Tkinter에서 .grid()보다 더 나은 지오메트리 관리자는 무엇일까?

Grid 지오메트리 관리자

Grid 지오메트리 관리자는 위젯이 많은 복잡한 애플리케이션에 특히 유용합니다. 좌표 기하학(coordinate geometry) 시스템을 기반으로 동작하며, 모든 위젯을 행(row)과 열(column)로 이루어진 격자 형태로 배치합니다. 따라서 Grid 관리자를 사용하면 애플리케이션 내 어떤 위젯이든 체계적이고 정렬된 레이아웃으로 구성할 수 있습니다.

Grid 지오메트리 관리자 예제

# 필요한 라이브러리 임포트
from tkinter import *
from tkinter import ttk

# Tkinter 윈도우 인스턴스 생성
win = Tk()

# 윈도우 크기 설정
win.geometry("700x350")

# 버튼 위젯 생성
ttk.Button(win, text="Button1").grid(row=0, column=0)
ttk.Button(win, text="Button2").grid(row=0, column=1)

win.mainloop()

실행 결과

Tkinter에서 .grid()보다 더 나은 지오메트리 관리자는 무엇일까?