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

Tkinter에서 수평 스크롤바 구현하는 방법 총정리

Tkinter의 Scrollbar(스크롤바) 위젯은 컨테이너 요소와 그 내용에 스크롤 기능을 연결해 주는 매우 유용한 위젯입니다. 스크롤바를 활용하면 화면에 다 담지 못하는 대량의 데이터도 효율적으로 탐색할 수 있습니다.

일반적으로 Tkinter에서는 세로(vertical) 스크롤바가로(horizontal) 스크롤바를 모두 지원합니다. 애플리케이션에 수평 스크롤바를 추가하려면 Scrollbar 생성자에서 방향(orient) 옵션을 'horizontal'로 지정하면 됩니다.

예제 코드

이번 예제에서는 수평 스크롤바가 포함된 간단한 텍스트 편집기를 만들어 보겠습니다.

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

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

# 창 크기 설정
win.geometry("700x350")

# 수평 스크롤바 추가
h = Scrollbar(win, orient='horizontal')
h.pack(side=BOTTOM, fill='x')

# 텍스트 위젯 추가
text = Text(win, font=("Calibri, 16"), wrap=NONE, xscrollcommand=h.set)
text.pack()

# 텍스트 위젯에 내용 삽입
for i in range(5):
    text.insert(END, "Welcome to Tutorialspoint...")

# 스크롤바를 텍스트 위젯과 연결
h.config(command=text.xview)

win.mainloop()

코드 핵심 포인트

  • orient='horizontal': 스크롤바의 방향을 수평으로 설정합니다. 기본값은 세로(vertical)입니다.
  • side=BOTTOM, fill='x': 스크롤바를 창 하단에 배치하고 가로 방향으로 꽉 차게 확장합니다.
  • xscrollcommand=h.set: 텍스트 위젯의 가로 스크롤 상태를 스크롤바와 동기화합니다.
  • wrap=NONE: 텍스트 자동 줄바꿈을 비활성화하여 긴 텍스트가 한 줄로 이어지게 합니다. 이렇게 해야 수평 스크롤이 의미 있게 동작합니다.
  • h.config(command=text.xview): 사용자가 스크롤바를 조작할 때 텍스트 위젯이 함께 움직이도록 양방향으로 연결합니다.

실행 결과

위 코드를 실행하면 텍스트가 입력된 텍스트 편집기가 화면에 나타납니다. 텍스트 위젯에는 수평 스크롤바가 함께 배치되어 있으며, 텍스트가 화면 너비를 초과할 때마다 스크롤바를 통해 좌우로 내용을 탐색할 수 있습니다.

Tkinter에서 수평 스크롤바 구현하는 방법 총정리

마무리

이처럼 Tkinter에서 수평 스크롤바를 추가하는 과정은 ① 스크롤바 생성 → ② 위젯과 명령(command) 연결 → ③ 레이아웃 배치(pack) 세 단계로 정리할 수 있습니다. 같은 원리를 Listbox, Canvas, Entry 등 다른 위젯에도 적용할 수 있으니, 실제 프로젝트에서 대용량 데이터를 다룰 때 적극 활용해 보시기 바랍니다.