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

Tkinter에서 기본 GUI 테마를 적용하는 방법 완벽 가이드

Tkinter는 일반적으로 기본 스타일과 테마가 모든 위젯에 적용된 상태로 표준 GUI 기반 애플리케이션을 개발할 때 사용됩니다. 하지만 애플리케이션의 전체적인 GUI 스타일을 변경하고 싶다면 ttk 패키지를 활용해야 합니다. Tkinter의 ttk는 테마가 적용된(themed) 위젯으로, tkinter 위젯에 다양한 스타일을 입힐 수 있게 해주며 운영체제 고유의 네이티브 GUI 느낌을 위젯에 부여합니다.

테마 위젯은 수많은 내장 함수와 기능을 제공하며, 이를 애플리케이션 전반에서 자유롭게 활용할 수 있습니다. ttk는 HTML 페이지에서 CSS가 하는 역할과 유사하게 동작한다고 이해하면 쉽습니다. ttk는 직접 임포트하여 사용하거나, ttk 객체를 인스턴스화해서 사용할 수 있습니다. 객체를 생성한 후에는 모든 위젯에 전역적으로 적용되는 스타일 속성들을 정의할 수 있습니다.

예제 코드

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

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

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

# ttk 인스턴스 생성
s = ttk.Style()

# 윈도우 네이티브 테마 사용
s.theme_use('winnative')

# 라벨 텍스트 추가
label = Label(win, text="Eat-sleep,Code Repeat", font=('Aerial 16'), background="green3")
label.pack(pady=30)

# ttk 스타일이 적용된 버튼 생성
ttk.Button(win, text="Button-1").pack()

win.mainloop()

실행 결과

위 코드를 실행하면 라벨 위젯과 버튼이 포함된 창이 화면에 나타납니다.

핵심 포인트 정리

  • ttk.Style(): 스타일 객체를 생성하여 위젯의 테마를 관리합니다.
  • theme_use(): 'winnative', 'clam', 'alt', 'default' 등 다양한 내장 테마 중 하나를 선택할 수 있습니다.
  • ttk.Button: 일반 Button 대신 ttk 버튼을 사용하면 선택한 테마의 스타일이 자동으로 적용됩니다.

이처럼 ttk 패키지를 활용하면 복잡한 스타일 코드 없이도 운영체제에 어울리는 깔끔하고 일관된 GUI를 손쉽게 구현할 수 있습니다.