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

Tkinter에서 프레임(Frame) 크기를 명시적으로 조정하는 방법

Tkinter의 프레임(Frame) 위젯은 일반적으로 다른 위젯들을 담는 컨테이너 형태로 화면에 표시할 때 사용됩니다. Frame 위젯은 기본 창 컨테이너와 유사한 방식으로 동작하며, tkinter 라이브러리에서 제공하는 다양한 지오메트리 관리자(geometry manager)를 통해 크기와 배치를 자유롭게 구성할 수 있습니다.

프레임의 크기를 명시적으로 지정하고 싶다면 pack() 지오메트리 관리자를 활용하는 것이 가장 간편합니다. 이때 side 속성과 fill, 그리고 padx/pady(패딩) 옵션을 함께 지정하면 원하는 방향과 여백에 맞춰 프레임을 조절할 수 있습니다. pack() 지오메트리 관리자는 위젯의 크기 재조정(resizing)에 대한 접근성을 잘 제공하기 때문입니다.

예제 코드

아래 예제에서는 두 개의 프레임을 생성하고, pack() 지오메트리 관리자의 속성을 이용해 각각의 크기를 조정해 보겠습니다.

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

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

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

# 함수 정의
def exit_win():
    win.destroy()

# 프레임 정의
button_container = Frame(win, relief="sunken", borderwidth=2)
button_container.pack(side="left", fill="x")

side_container = Frame(win, relief="sunken", borderwidth=2)
side_container.pack(side="left", fill="y")

# 프레임 안에 위젯 추가
exit_btn = Button(button_container, text="Cancel", command=exit_win)
exit_btn.pack(side="left", padx=10)
save_btn = Button(button_container, text="Save")
save_btn.pack(side="left", padx=10)

# side_container 프레임에 라벨 위젯 추가
txt_label = Label(side_container, text="Tkinter is a Python Library", font=('Helvetica 15 bold'))
txt_label.pack(side="right", padx=10)

win.mainloop()

실행 결과

위 코드를 실행하면 두 개의 프레임이 포함된 윈도우가 화면에 나타납니다. 각 프레임에는 텍스트 라벨과 버튼 위젯이 배치되어 있으며, 지오메트리 관리자를 활용하면 프레임 위젯의 크기를 명시적으로 조절할 수 있습니다.

Tkinter에서 프레임(Frame) 크기를 명시적으로 조정하는 방법