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

Tkinter에서 .pack()과 .configure() 메서드의 차이점 완벽 정리

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() 메서드에 전달하는 값을 조정하면 각 위젯의 배경색, 글자색, 글꼴, 클릭 이벤트 등 다양한 속성을 손쉽게 변경할 수 있습니다.