본문 바로가기

[Tkinter] 41강 ttk Label과 Entry 스타일 적용

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


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

40강에서는
ttk Button 스타일을 커스터마이징하며
역할 중심 스타일 설계 방식을 배웠습니다.

이번 강의에서는
버튼만큼이나 자주 사용하는
ttk Label과 ttk Entry에 스타일을 적용합니다.

이번 강의의 목표는 분명합니다.
텍스트와 입력 영역을
읽기 쉽고 일관되게 구성하는 방법을 이해하는 것입니다.


Label과 Entry는 화면의 정보 구조를 만든다

GUI 화면을 보면
대부분 다음 구조를 가집니다.

  • Label : 의미 설명
  • Entry : 사용자 입력

이 두 위젯의 스타일이 정리되면
화면이
한층 안정적으로 보입니다.


ttk Label 기본 사용 다시 보기

import tkinter as tk
from tkinter import ttk

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

ttk.Label(window, text="이름").pack(pady=10)

window.mainloop()

아직은
테마의 기본 스타일을
그대로 사용하고 있습니다.


Label 스타일을 Style로 관리하기

Label 스타일 역시
Style 객체에서 설정합니다.

style = ttk.Style()
style.configure("TLabel", font=("Arial", 11))

이 설정은
모든 ttk Label에
적용됩니다.


전체 Label 스타일 적용 예제

import tkinter as tk
from tkinter import ttk

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

style = ttk.Style()
style.configure("TLabel", font=("Arial", 11))

ttk.Label(window, text="아이디").pack(pady=5)
ttk.Label(window, text="비밀번호").pack(pady=5)

window.mainloop()

텍스트 크기와
톤이 통일된 느낌을
받을 수 있습니다.


역할 기반 Label 스타일 만들기

화면에는
서로 다른 역할의 Label이
존재합니다.

  • 제목
  • 설명
  • 항목 이름

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

style.configure("Title.TLabel", font=("Arial", 14, "bold"))
ttk.Label(window, text="로그인", style="Title.TLabel")

Entry 위젯의 역할 이해하기

Entry는
사용자의 입력을
받는 핵심 위젯입니다.

따라서
다음 요소가 중요합니다.

  • 가독성
  • 여백
  • 포커스 인식

이 역시
스타일로 관리할 수 있습니다.


ttk Entry 기본 사용 예제

import tkinter as tk
from tkinter import ttk

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

ttk.Entry(window).pack(pady=10)

window.mainloop()

외형은
테마 기본값에
따라 결정됩니다.


Entry 스타일 기본 설정하기

style = ttk.Style()
style.configure("TEntry", padding=5)

입력창 내부 여백이
늘어나
입력하기 편해집니다.


Label과 Entry를 함께 구성해 보기

import tkinter as tk
from tkinter import ttk

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

style = ttk.Style()
style.configure("TLabel", font=("Arial", 11))
style.configure("TEntry", padding=5)

ttk.Label(window, text="이메일").pack(pady=5)
ttk.Entry(window).pack(pady=5)

ttk.Label(window, text="비밀번호").pack(pady=5)
ttk.Entry(window, show="*").pack(pady=5)

window.mainloop()

입력 폼의
기본 형태가
자연스럽게 완성됩니다.


Entry 스타일도 커스텀 이름을 쓰자

버튼과 마찬가지로
Entry도
역할 기반 스타일을 씁니다.

style.configure("Form.TEntry", padding=6)
ttk.Entry(window, style="Form.TEntry")

이제
폼 전용 입력창이라는
의미가 생깁니다.


Label과 Entry 스타일의 설계 기준

실무 기준으로
다음 원칙을 추천합니다.

  • Label은 정보 전달에 집중
  • Entry는 입력 안정성에 집중
  • 색상보다 여백과 크기를 먼저 조정

이 원칙만 지켜도
UI 품질이
눈에 띄게 올라갑니다.


스타일은 화면 전체를 한 번에 바꾼다

Style을 사용하면
다음 작업이 쉬워집니다.

  • 전체 폰트 변경
  • 입력창 크기 조정
  • UI 톤 통일

이게
스타일을 쓰는
진짜 이유입니다.


이번 강의 핵심 정리

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

  • ttk Label과 Entry도 Style로 관리한다
  • 기본 스타일과 역할별 스타일을 구분한다
  • 여백과 가독성이 핵심 포인트다
  • 화면 정보 구조가 정리된다

다음 강의 예고

다음 강의에서는
공통 스타일을 설계하는 방법을 다룹니다.

이제
“하나씩 고치기”가 아니라
한 번에 관리하는 UI로 넘어갑니다.


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

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

목차