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

Tkinter에서 프레임 너비를 동적으로 변경하는 방법

Tkinter의 프레임(Frame) 위젯은 다른 위젯과 GUI 구성 요소를 담아두는 컨테이너 역할을 합니다. 프레임의 너비를 동적으로 변경하려면 configure() 메서드를 사용하고, 그 안에서 width 속성값을 지정하면 됩니다.

예제 코드

다음 예제에서는 메인 윈도우 안에 버튼 하나를 배치하고, 버튼을 클릭할 때마다 프레임의 너비가 업데이트되도록 구현했습니다.

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

# tkinter 프레임(윈도우) 인스턴스 생성
win = Tk()

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

def update_width():
    frame.config(width=100)

# 프레임 생성
frame = Frame(win, bg="skyblue3", width=700, height=250)
frame.pack()

# 메인 윈도우에 버튼 추가
ttk.Button(win, text="Update", command=update_width).pack()

win.mainloop()

실행 결과

위 코드를 실행하면 프레임 위젯과 버튼이 포함된 윈도우가 화면에 나타납니다.

Tkinter에서 프레임 너비를 동적으로 변경하는 방법

이 상태에서 "Update" 버튼을 클릭하면 update_width() 함수가 호출되어 프레임의 너비가 700픽셀에서 100픽셀로 즉시 줄어듭니다.

Tkinter에서 프레임 너비를 동적으로 변경하는 방법

핵심 정리

이 방식의 핵심은 config() 메서드입니다. Tkinter에서 대부분의 위젯은 생성 이후에도 config() 또는 configure()를 통해 속성을 실시간으로 수정할 수 있습니다. 버튼 클릭, 키보드 입력 등 다양한 이벤트에 연결하면 사용자 반응에 따라 UI 레이아웃을 유연하게 조절할 수 있습니다.