Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Tkinter에서 스크롤바 모양 변경하기 — ttk 스타일 완벽 가이드


스크롤바(Scrollbar)는 프레임이나 창 안에서 많은 양의 텍스트나 문자를 표시할 때 사용되는 필수 요소입니다. 사용자가 원하는 만큼의 문자를 담을 수 있는 텍스트 위젯(Text Widget)과 함께 활용됩니다.

스크롤바는 크게 두 가지 유형으로 나뉩니다.

  • 가로 스크롤바(Horizontal Scrollbar)
  • 세로 스크롤바(Vertical Scrollbar)

스크롤바의 길이는 텍스트 위젯에 입력된 문자 수가 늘어날 때마다 자동으로 조절됩니다. ttk.Scrollbar를 사용하면 스크롤바의 스타일을 자유롭게 구성할 수 있으며, ttk는 이를 위해 다양한 내장 기능과 속성을 제공합니다.

예제

이 예제에서는 텍스트 위젯에 세로 스크롤바를 추가하고, ttk 스타일 테마를 사용해 스크롤바의 외관을 커스터마이징해 보겠습니다. 여기서는 'classic' 테마를 적용했으며, 전체 ttk 테마 목록은 공식 문서를 참고하시면 됩니다.

# 필요한 라이브러리 임포트
from tkinter import *
from tkinter import ttk

# Tkinter 프레임 인스턴스 생성
win = Tk()

# 프레임 크기 설정
win.geometry("700x250")

style = ttk.Style()
style.theme_use('classic')
style.configure("Vertical.TScrollbar", background="green", bordercolor="red", arrowcolor="white")

# 세로 스크롤바 생성
scrollbar = ttk.Scrollbar(win, orient='vertical')
scrollbar.pack(side=RIGHT, fill=BOTH)

# 텍스트 위젯 추가
text = Text(win, width=15, height=15, wrap=CHAR,
yscrollcommand=scrollbar.set)

for i in range(1000):
    text.insert(END, i)

text.pack(side=TOP, fill=X)

# 스크롤바와 텍스트 위젯 연결
scrollbar.config(command=text.yview)

win.mainloop()

주요 포인트

  • style.theme_use('classic') : 적용할 ttk 테마를 지정합니다.
  • background : 스크롤바 본체의 배경색을 설정합니다.
  • bordercolor : 스크롤바 테두리 색상을 지정합니다.
  • arrowcolor : 상하 화살표 버튼의 색상을 변경합니다.

실행 결과

위 코드를 실행하면 텍스트 위젯과 함께 초록색 배경, 빨간색 테두리, 흰색 화살표가 적용된 커스터마이징된 세로 스크롤바가 표시된 창이 나타납니다.

Tkinter에서 스크롤바 모양 변경하기 — ttk 스타일 완벽 가이드