스크롤바는 애플리케이션에 동적인 동작을 부여하는 데 유용한 요소입니다. Tkinter 애플리케이션에서는 Scrollbar() 위젯 객체를 초기화하는 방식으로 수직 스크롤바와 수평 스크롤바를 모두 손쉽게 만들 수 있습니다.
스크롤바 생성의 기본 원리
수평 스크롤바를 만들려면 방향을 지정하는 orient 옵션에 'horizontal' 또는 'vertical' 값을 전달해야 합니다. 또한 스크롤바를 텍스트 위젯처럼 스크롤이 필요한 대상 위젯과 연결하도록 설정해야 비로소 실제로 동작하며 접근할 수 있게 됩니다.
예제 코드
# 필요한 라이브러리 임포트
from tkinter import *
# Tkinter 프레임 인스턴스 생성
win = Tk()
# Tkinter 프레임 크기 설정
win.geometry("700x350")
# 테스트용 더미 텍스트 생성
text_v = "Python is dynamically-typed and garbage-collected. It supports multiple programming paradigms, including structured (particularly, procedural), object-oriented and functional programming."
text_h = ("\nNASA \n Google \nNokia \nFacebook \n Netflix \n Expedia \n Reddit \n Quora \n MIT\n Udemy \n Shutterstock \nSpotify\nAmazon\nMozilla\nDropbox")
# 수직 스크롤바 추가
scroll_v = Scrollbar(win)
scroll_v.pack(side= RIGHT,fill="y")
# 수평 스크롤바 추가
scroll_h = Scrollbar(win, orient= HORIZONTAL)
scroll_h.pack(side= BOTTOM, fill= "x")
# 텍스트(Text) 위젯 추가
text = Text(win, height= 500, width= 350, yscrollcommand= scroll_v.set,
xscrollcommand = scroll_h.set, wrap= NONE, font= ('Helvetica 15'))
text.pack(fill = BOTH, expand=0)
text.insert(END, text_v)
text.insert(END, text_h)
# 스크롤바를 텍스트 위젯에 연결
scroll_h.config(command = text.xview)
scroll_v.config(command = text.yview)
win.mainloop()실행 결과
위 코드를 실행하면 Python 프로그래밍 언어에 대한 소개 내용이 담긴 창이 표시됩니다. 화면 오른쪽의 수직 스크롤바와 하단의 수평 스크롤바를 사용하면 한 화면에 모두 담기지 않은 내용도 자유롭게 탐색할 수 있습니다.
