[python] Tkinter 위젯 스타일 변경

주의: 이 블로그 포스트는 Python 3.x 버전 기준으로 작성되었습니다.

Tkinter는 Python에서 GUI 프로그래밍을 할 때 많이 사용되는 라이브러리입니다. Tkinter를 사용하면 사용자 인터페이스를 만들고 다양한 위젯을 사용할 수 있습니다. 이번 포스트에서는 Tkinter 위젯의 스타일을 변경하는 방법에 대해 알아보겠습니다.

Tkinter 스타일 변경하기

Tkinter로 생성한 위젯은 기본적으로 디폴트 스타일을 가지고 있습니다. 그러나 필요에 따라 위젯의 스타일을 변경할 수도 있습니다. Tkinter에서 위젯의 스타일을 변경하는 방법은 다음과 같습니다:

1. 위젯의 속성 설정

Tkinter 위젯은 다양한 속성을 가지고 있습니다. 이 속성들을 설정하여 위젯의 스타일을 변경할 수 있습니다. 아래는 Label 위젯의 font 속성을 설정해 스타일을 변경하는 예시입니다.

from tkinter import *

root = Tk()

label = Label(root, text="스타일 변경하기")
label.config(font=("Arial", 20)) # font 속성 변경

label.pack()

root.mainloop()

위 코드에서 font 속성을 설정하여 라벨의 폰트를 Arial로 변경하고 크기를 20으로 설정합니다.

2. 스타일 시트 사용

Tkinter에는 위젯에 적용할 수 있는 스타일 시트가 있습니다. 스타일 시트는 ttk.Style 클래스를 사용하여 생성할 수 있습니다. 아래는 스타일 시트를 사용하여 버튼의 색상과 폰트를 변경하는 예시입니다.

from tkinter import *
from tkinter import ttk

root = Tk()

style = ttk.Style()

style.configure("TButton", foreground="blue", font=("Arial", 12)) # 버튼 스타일 변경
style.map("TButton", foreground=[("active", "red")]) # 버튼이 눌렸을 때 색상 변경

button = ttk.Button(root, text="스타일 변경")
button.pack()

root.mainloop()

위 코드에서 ttk.Style 클래스를 사용하여 TButton 스타일을 설정합니다. configure 메서드를 사용하여 버튼의 전경색(foreground)과 폰트를 변경합니다. 또한 map 메서드를 사용하여 버튼이 눌렸을 때(active 상태일 때)의 색상을 변경합니다.

참고 자료