Tkinter에서는 다양한 지오메트리 관리자(geometry manager)를 사용하여 위젯을 윈도우에 배치합니다. 지오메트리 관리자는 애플리케이션 내에서 위젯을 어디에, 어떻게 배치할지 결정하는 역할을 하며, 이를 통해 위젯의 크기와 좌표를 자유롭게 설정할 수 있습니다.
pack() 메서드는 Tkinter의 세 가지 지오메트리 관리자 중 하나입니다. 나머지 두 가지는 grid()와 place()입니다. 그중 pack()은 위젯에 여백(padding)을 추가하거나 창 안에 위젯을 순서대로 정렬할 때 가장 널리 사용됩니다.
반면, 이미 정의된 위젯의 속성과 특성을 명시적으로 변경하고 싶다면 configure() 메서드를 사용합니다. configure()는 위젯의 색상, 글꼴뿐만 아니라 크기 조정 및 배치와 관련된 다양한 속성까지 설정할 수 있는 강력한 도구입니다.
예제
다음 예제에서는 레이블(Label) 위젯과 버튼(Button) 위젯을 생성합니다. 두 위젯의 속성과 특성은 pack()과 configure() 메서드를 활용하면 효율적으로 설정할 수 있습니다.
# 필요한 라이브러리 임포트
from tkinter import *
# Tkinter 프레임(윈도우) 인스턴스 생성
win = Tk()
# 윈도우 크기 설정
win.geometry("700x350")
# 함수 정의
def close_win():
win.destroy()
# 레이블 생성
my_label = Label(win, text="Hey Everyone!", font=('Arial 14 bold'))
my_label.pack(pady=30)
# 버튼 생성
button = Button(win, text="Close")
button.pack()
# 레이블 속성 구성
my_label.configure(bg="black", fg="white")
button.configure(font=('Monospace 14 bold'), command=close_win)
win.mainloop()
실행 결과
위 코드를 실행하면 버튼과 레이블 위젯이 함께 표시되는 창이 나타납니다. configure() 메서드에 전달하는 값을 조정하면 각 위젯의 배경색, 글자색, 글꼴, 클릭 이벤트 등 다양한 속성을 손쉽게 변경할 수 있습니다.