본문 바로가기

[Tkinter] 37강 ttk 스타일(style) 기본 개념 이해하기

@도마22026. 2. 8. 18:00
728x90


이 강의는 Tkinter GUI 강의 37강입니다

36강에서는
ttk Button과 Label을 사용하며
tk 위젯과 ttk 위젯의 사고 방식 차이를 확인했습니다.

이번 강의에서는
그 차이의 핵심인
ttk 스타일(style) 개념을 다룹니다.

이번 강의의 목표는 분명합니다.
스타일이
무엇을 담당하고, 왜 분리되어 있는지
개념적으로 이해하는 것입니다.


스타일(style)은 무엇인가

ttk에서 스타일은
위젯의 겉모습을 관리하는 시스템입니다.

즉,

  • 색상
  • 폰트
  • 여백
  • 테두리

같은 외형 요소
위젯 코드와 분리해서 관리합니다.

위젯 = 역할
스타일 = 외형

이 분리가
이번 강의의 핵심입니다.


왜 스타일을 분리했을까

tk 위젯 방식에서는
외형과 기능이
한 줄에 섞여 있었습니다.

tk.Button(window, text="확인", bg="red")

이 방식의 문제는
다음과 같습니다.

  • 버튼마다 색상 중복
  • 디자인 변경 시 코드 수정 다수
  • UI 전체 통일이 어려움

ttk는
이 문제를 해결하기 위해
스타일 개념을 도입했습니다.


ttk 스타일의 핵심 객체는 Style이다

ttk 스타일은
Style 객체로 관리합니다.

from tkinter import ttk

style = ttk.Style()

이 객체가
모든 스타일의
중앙 관리자 역할을 합니다.


스타일은 위젯 “종류”에 적용된다

중요한 개념 하나입니다.

ttk 스타일은
개별 위젯이 아니라 위젯 타입에 적용됩니다.

TButton
TLabel
TEntry

이 이름들이
스타일의 대상입니다.


기본 스타일 이름 살펴보기

자주 사용하는 기본 스타일 이름은 다음과 같습니다.

  • Button → TButton
  • Label → TLabel
  • Entry → TEntry
  • Checkbutton → TCheckbutton

이 이름을
기본으로 기억하면 됩니다.


가장 기본적인 스타일 설정 예제

import tkinter as tk
from tkinter import ttk

window = tk.Tk()
window.geometry("300x200")

style = ttk.Style()
style.configure("TButton", font=("Arial", 12))

ttk.Button(window, text="버튼").pack(pady=40)

window.mainloop()

이 코드는
모든 ttk Button의
폰트를 변경합니다.


스타일은 한 번 설정하면 전역으로 적용된다

이게
ttk 스타일의 가장 큰 특징입니다.

style.configure("TButton", font=("Arial", 12))

이 한 줄로
화면에 있는 모든
ttk Button이
같이 바뀝니다.

UI 일관성의 핵심 포인트입니다.


특정 위젯만 다른 스타일을 쓰고 싶다면

이럴 때는
커스텀 스타일 이름을 사용합니다.

style.configure("My.TButton", font=("Arial", 14))
ttk.Button(window, text="강조 버튼", style="My.TButton")

이제
이 버튼만
다른 스타일을 가집니다.


ttk 스타일 이름 규칙 이해하기

스타일 이름은
다음 구조를 가집니다.

커스텀명.위젯타입

예시:

  • My.TButton
  • Warning.TLabel
  • Title.TLabel

이 규칙을 지키면
스타일 관리가
아주 쉬워집니다.


스타일은 “디자인 도구”가 아니다

중요한 관점 하나입니다.

ttk 스타일은
포토샵처럼
디자인을 만드는 도구가 아닙니다.

역할은 이것입니다.

  • UI 통일
  • 유지보수
  • 구조 분리

즉,
개발자를 위한 도구입니다.


스타일 개념은 다른 GUI에서도 그대로 쓰인다

이 개념은
Tkinter 전용이 아닙니다.

  • PyQt의 StyleSheet
  • 웹의 CSS
  • Unity UI 스타일

전부
같은 사고 구조입니다.

지금 배우는 건
GUI 공통 언어입니다.


스타일을 언제부터 쓰는 게 좋을까

실전 기준으로
이 타이밍이 가장 좋습니다.

  1. UI 구조 먼저 만든다
  2. 기능이 정상 동작하는지 확인
  3. 마지막에 스타일 정리

스타일을
처음부터 잡으려 하면
오히려 개발이 느려집니다.


이번 강의 핵심 정리

이번 강의에서 꼭 기억해야 할 내용입니다.

  • ttk 스타일은 외형을 담당한다
  • Style 객체가 중앙 관리한다
  • 스타일은 위젯 타입에 적용된다
  • GUI 사고 수준을 한 단계 올려준다

다음 강의 예고

다음 강의에서는
ttk 테마(theme) 를 다룹니다.

스타일 위에
또 하나의 개념이
겹쳐집니다.

이제
UI가
“운영체제답게” 보이기 시작합니다.


728x90
도마2
@도마2 :: 도마의 코드노트

초보자를 위한 코딩 강의를 정리합니다. 파이썬부터 C#, Unity 게임 제작까지 차근차근 기록합니다. — 도마

목차