Tkinter 위젯 스타일링 개요
Python의 Tkinter는 GUI 애플리케이션을 손쉽게 구축할 수 있는 표준 라이브러리입니다. 특히 tkinter.ttk 모듈을 활용하면 버튼, 라벨 등 다양한 위젯의 스타일을 세밀하게 조정할 수 있습니다. 대표적인 활용 예는 다음과 같습니다.
- 위젯의 배경색(background) 및 전경색(foreground) 지정
- 버튼 활성화 및 상태 관리
- 라벨에 이미지 추가
- 위젯의 높이와 너비 정렬 및 조정
Tkinter 위젯에 배경색을 적용하는 방법은 매우 간단합니다. 해당 위젯의 background 속성에 원하는 색상 이름 또는 HEX 코드 값을 지정하기만 하면 됩니다.
예제 코드
다음 예제에서는 클릭하면 텍스트 라벨의 배경색을 노란색에서 빨간색으로 변경하는 버튼을 만들어 보겠습니다.
# tkinter 라이브러리 임포트
from tkinter import *
from tkinter.ttk import *
# tkinter 프레임 인스턴스 생성
win = Tk()
# 창 크기 설정
win.geometry("600x400")
# tkinter 위젯 스타일링을 위한 Style 객체 생성
style = ttk.Style()
style.configure('TEntry', foreground='red')
# 텍스트 배경색을 변경하는 함수 정의
def change_color():
text.configure(background="red")
# 텍스트(라벨) 위젯 생성
text = Label(win, text="This is a New Text", foreground="black",
background="yellow", font=('Aerial bold', 20))
text.pack(pady=20)
# 버튼 위젯 생성
Button(win, text="Click Here", command=change_color).pack(pady=10)
win.mainloop()코드 설명
- geometry("600x400"): 메인 윈도우의 크기를 가로 600픽셀, 세로 400픽셀로 지정합니다.
- Label(...): 초기 배경색은 노란색(yellow), 글자색은 검정(black)으로 설정하고, 폰트 크기는 20pt로 지정합니다.
- change_color(): 버튼이 클릭되면 호출되어 라벨의 배경색을 빨간색(red)으로 변경합니다.
실행 결과
위 코드를 실행하면 노란색 배경의 텍스트 라벨이 포함된 창이 나타납니다.

이제 "Click Here" 버튼을 클릭해 보세요. 라벨의 배경색이 즉시 빨간색(Red)으로 변경됩니다.

참고 사항
background 속성에는 'red', 'yellow' 같은 색상 이름 외에도 '#FF0000' 형식의 HEX 코드를 사용할 수 있으므로, 원하는 세밀한 색상 표현이 가능합니다. 또한 ttk.Style 객체를 활용하면 여러 위젯에 일관된 테마와 스타일을 한 번에 적용할 수 있어 유지보수 측면에서도 유용합니다.