
이 강의는 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 공통 언어입니다.
스타일을 언제부터 쓰는 게 좋을까
실전 기준으로
이 타이밍이 가장 좋습니다.
- UI 구조 먼저 만든다
- 기능이 정상 동작하는지 확인
- 마지막에 스타일 정리
스타일을
처음부터 잡으려 하면
오히려 개발이 느려집니다.
이번 강의 핵심 정리
이번 강의에서 꼭 기억해야 할 내용입니다.
- ttk 스타일은 외형을 담당한다
- Style 객체가 중앙 관리한다
- 스타일은 위젯 타입에 적용된다
- GUI 사고 수준을 한 단계 올려준다
다음 강의 예고
다음 강의에서는
ttk 테마(theme) 를 다룹니다.
스타일 위에
또 하나의 개념이
겹쳐집니다.
이제
UI가
“운영체제답게” 보이기 시작합니다.
'⚙️ Python > 🪟 Tkinter 기초' 카테고리의 다른 글
| [Tkinter] 39강 기본 테마별 UI 차이 비교 (0) | 2026.02.09 |
|---|---|
| [Tkinter] 38강 ttk 테마(theme) 변경하기 (0) | 2026.02.08 |
| [Tkinter] 36강 ttk Button과 Label 사용하기 (0) | 2026.02.07 |
| [Tkinter] 35강 ttk 위젯이란 무엇인가 (0) | 2026.02.07 |
| [Tkinter] 34강 더블 클릭 이벤트 처리하기 (0) | 2026.02.06 |