Tkinter의 LabelFrame은 일반 Frame과 유사하게 동작하지만, 제목(라벨)이 붙은 테두리가 있는 컨테이너라는 점에서 차별화됩니다. 다른 위젯들을 담는 그릇 역할을 하며, 처음 생성될 때 사각형 테두리와 함께 라벨이 표시됩니다.
LabelFrame에서 사용할 수 있는 주요 스타일 옵션
LabelFrame 위젯의 외관을 꾸미기 위해 다음과 같은 다양한 스타일 옵션을 활용할 수 있습니다.
- background: 프레임의 배경색 지정
- foreground: 라벨 텍스트 색상 지정
- borderwidth(bd): 테두리 두께 지정
- labelanchor: 라벨이 위치할 방향 지정(n, s, e, w 등)
- highlightcolor: 포커스 시 강조 색상 지정
- font: 라벨 텍스트의 글꼴 및 크기 지정
예제 코드
다음 예제에서는 LabelFrame 위젯을 생성하고 주요 속성들을 적용하는 방법을 살펴보겠습니다.
# 필요한 라이브러리 임포트
from tkinter import *
# tkinter 프레임 인스턴스 생성
win = Tk()
# 윈도우 크기 설정
win.geometry("750x250")
# LabelFrame 위젯 초기화
labelframe = LabelFrame(win,
text="Frame 01",
width=600,
height=200,
labelanchor="n",
font=('Helvetica 14 bold'),
bd=5,
background="gray71",
foreground="white")
labelframe.pack(ipadx=10, ipady=20, expand=True, fill=BOTH)
# LabelFrame 내부에 Label 생성
Label(labelframe,
text="I am inside a LabelFrame",
font=('Helvetica 15 bold'),
foreground="black").pack(pady=20)
win.mainloop()실행 결과
위 코드를 실행하면 너비 5px의 테두리를 가진 LabelFrame이 포함된 창이 화면에 나타납니다. 라벨은 프레임 상단 중앙(labelanchor="n")에 배치되며, 회색 배경 위에 흰색 굵은 글씨로 표시되는 것을 확인할 수 있습니다.

정리
LabelFrame은 관련된 위젯들을 시각적으로 그룹화할 때 매우 유용한 컨테이너입니다. background, borderwidth, labelanchor 같은 옵션을 조합하면 애플리케이션의 UI를 더욱 깔끔하고 직관적으로 구성할 수 있습니다.