강의노트 Style

강의노트 • 조회수 19 • 댓글 0 • 작성 2일 전 • 수정 2일 전  
  • ttk
  • Style

ttk.Style 개요

ttk는 스타일 기반 시스템을 사용해서 위젯의 외형을 설정하기 위해 ttk.Style( ) 클래스를 이용한다.

ttk.Style( )을 사용하여 버튼, 라벨, 프라임 등 다양한 위젯의 외형을 설정할 수 있다.

Style 객체를 사용하면 위젯별 상태에 따라 지정할 수 있는 색상, 폰트, 여백 등을 제어할 수 있다.

Style의 주요 함수들은

메서드 설명 옵션
style.theme_names( ) 사용 가능한 테마 목록을 반환 default, clam, alt, classic
style.theme_use( ) 현재 태마 가져오기
style.configure(style_name, ** option) 스타일 구성 설정 foreground, background, font, padding, relief, anchor
style.map(style_name, option=[(state, value), ...]) 상태별 속성을 동적으로 설정 state =[active, pressed, disabled, focus, selected, alternate, readonly], value = [ ]
style.lookup(style_name, option, state=None) 특정 상태의 속성값 조회
style.layout(style_name) 위젯의 구성 요소 정보 조회
style.element_options(element) 요소의 가능한 옵션 조회

map 예제

import tkinter as tk
from tkinter import ttk
root = tk.Tk()
style = ttk.Style()
style.theme_use("clam")
style.configure("My.TButton",
                font=("Arial", 12),
                padding=10,
                foreground="black",
                background="green")  # 스타일 이름: My.TButton
# 상태별로 배경색, 글자색 변경
style.map("My.TButton",
          background=[("active", "skyblue"), ("pressed", "blue")],
          foreground=[("disabled", "gray"), ("pressed", "white")])
btn = ttk.Button(root, text="Click Me", style="My.TButton")
btn.pack(padx=20, pady=20)
root.mainloop()

버튼의 배경은 밝은 회색, 글씨는 Arial, 크기는 12, 검정색으로 만들어진다.

마우스를 움직여 버튼 위로 옮겨지면(active)되면 버튼의 배경 색이 하늘색이 되고 눌려지면 파란색, 글씨는 흰색으로 바뀐다.

이전 글
마지막 글입니다.
댓글
댓글로 소통하세요.