
이 강의는 Tkinter GUI 강의 36강입니다
35강에서는
ttk 위젯이 무엇인지,
왜 ttk를 사용하는지에 대한
개념적인 이유를 정리했습니다.
이번 강의에서는
가장 많이 사용하는
ttk Button과 ttk Label을 직접 사용해 보며
tk 위젯과의 차이를 체감합니다.
이번 강의의 목표는 분명합니다.
ttk Button과 Label의
기본 사용법과 사고 방식의 차이를 이해하는 것입니다.
ttk Button과 Label은 기본 위젯이다
ttk를 사용할 때
가장 먼저 바꾸게 되는 위젯이
바로 Button과 Label입니다.
이 두 위젯만 ttk로 바꿔도
전체 UI 인상이
확 달라집니다.
ttk 위젯 import 다시 정리하기
ttk 위젯은
다음과 같이 import 합니다.
import tkinter as tk
from tkinter import ttk
앞으로
ttk 위젯을 쓸 때는
이 패턴이 기본입니다.
ttk Label 기본 사용법
import tkinter as tk
from tkinter import ttk
window = tk.Tk()
window.geometry("300x200")
ttk.Label(window, text="ttk 라벨").pack(pady=20)
window.mainloop()
사용 방법은
tk.Label과 거의 동일합니다.
ttk Button 기본 사용법
import tkinter as tk
from tkinter import ttk
window = tk.Tk()
window.geometry("300x200")
def on_click():
print("버튼 클릭")
ttk.Button(window, text="ttk 버튼", command=on_click).pack(pady=20)
window.mainloop()
이벤트 연결 방식 역시
command를 그대로 사용합니다.
tk 위젯과 ttk 위젯의 가장 큰 차이
코드만 보면
차이가 거의 없어 보입니다.
tk.Label(window, text="tk 라벨")
ttk.Label(window, text="ttk 라벨")
하지만
사고 방식은 완전히 다릅니다.
- tk : 위젯이 모든 것을 가진다
- ttk : 위젯은 구조, 스타일은 분리
ttk 위젯은 스타일을 직접 건드리지 않는다
tk 위젯에서는
색상이나 폰트를
직접 지정하는 경우가 많았습니다.
tk.Label(window, text="라벨", fg="red")
ttk에서는
이 방식이 권장되지 않습니다.
ttk.Label(window, text="라벨")
외형은
Style 객체가 담당합니다.
(다음 강의에서 다룹니다)
ttk Label과 StringVar 함께 사용하기
ttk Label도
변수와 함께 사용할 수 있습니다.
import tkinter as tk
from tkinter import ttk
window = tk.Tk()
window.geometry("300x200")
text_var = tk.StringVar(value="초기 텍스트")
ttk.Label(window, textvariable=text_var).pack(pady=20)
text_var.set("변경된 텍스트")
window.mainloop()
이 방식은
동적 UI에서
아주 자주 사용됩니다.
ttk Button은 역할 중심 위젯이다
ttk Button은
“어떻게 보이느냐”보다
“무엇을 하느냐”에 집중합니다.
ttk.Button(window, text="저장", command=save)
버튼의 역할은
이 한 줄로
충분히 드러납니다.
ttk 위젯을 섞어 써도 될까
tk 위젯과
ttk 위젯은
함께 사용해도 됩니다.
tk.Entry(window).pack()
ttk.Button(window, text="확인").pack()
다만
실무에서는
한 화면에서는 ttk로 통일하는 것이 좋습니다.
ttk 위젯으로 넘어갈 때 생기는 변화
ttk 위젯을 쓰기 시작하면
자연스럽게 이런 변화가 생깁니다.
- 색상보다 구조를 먼저 생각
- 위젯보다 화면 역할을 먼저 설계
- 스타일을 나중에 한 번에 조정
이게 바로
GUI 사고의 전환점입니다.
ttk Button과 Label 사용 시 팁
실무 기준으로
다음 패턴을 추천합니다.
- 기본 위젯은 ttk 사용
- 기능 테스트 단계에서는 스타일 신경 X
- 스타일은 마지막에 정리
이 순서가
가장 안정적입니다.
이번 강의 핵심 정리
이번 강의에서 꼭 기억해야 할 내용입니다.
- ttk Button과 Label은 기본 위젯이다
- 사용법은 tk 위젯과 거의 같다
- 외형은 Style이 담당한다
- 구조 중심 GUI 사고로 전환된다
다음 강의 예고
다음 강의에서는
ttk 스타일(style)의 기본 개념을 다룹니다.
이제
“왜 색상을 안 줬는지”가
명확해질 차례입니다.
'⚙️ Python > 🪟 Tkinter 기초' 카테고리의 다른 글
| [Tkinter] 38강 ttk 테마(theme) 변경하기 (0) | 2026.02.08 |
|---|---|
| [Tkinter] 37강 ttk 스타일(style) 기본 개념 이해하기 (0) | 2026.02.08 |
| [Tkinter] 35강 ttk 위젯이란 무엇인가 (0) | 2026.02.07 |
| [Tkinter] 34강 더블 클릭 이벤트 처리하기 (0) | 2026.02.06 |
| [Tkinter] 33강 엔터 키로 버튼 동작 시키기 (0) | 2026.02.06 |