[python] Tkinter 수직 스크롤바 추가 예제

Tkinter는 Python에서 GUI 애플리케이션을 개발하기 위한 표준 라이브러리입니다. 이번 예제에서는 Tkinter를 사용하여 수직 스크롤바를 추가하는 방법을 알아보겠습니다.

예제 코드

import tkinter as tk

def set_scrollbar(*args):
    canvas.configure(scrollregion=canvas.bbox("all"), width=200, height=200)

root = tk.Tk()
root.title("수직 스크롤바 추가 예제")

canvas = tk.Canvas(root)
canvas.pack(side="left", fill="both")

scrollbar = tk.Scrollbar(root, command=canvas.yview)
scrollbar.pack(side="right", fill="y")

canvas.configure(yscrollcommand=scrollbar.set)
canvas.bind("<Configure>", set_scrollbar)

frame = tk.Frame(canvas)
canvas.create_window((0, 0), window=frame, anchor="nw")

for i in range(50):
    label = tk.Label(frame, text=f"라벨 {i}")
    label.pack()

root.mainloop()

위의 코드는 Tkinter를 사용하여 수직 스크롤바가 있는 윈도우를 생성하는 예제입니다. 예제를 실행하면, 수직 스크롤바가 표시되고 스크롤바를 사용하여 내용을 스크롤할 수 있습니다.

코드 설명

  1. tkinter 모듈을 tk로 import합니다.
  2. set_scrollbar 함수는 윈도우의 크기가 변할 때 스크롤바 설정을 업데이트하는 역할을 합니다.
  3. root 변수에 Tkinter의 Tk 클래스로 윈도우 객체를 생성합니다.
  4. canvas 변수에 Tkinter의 Canvas 클래스로 캔버스 객체를 생성합니다.
  5. 캔버스를 윈도우에 배치하고, 좌우 양쪽을 채우도록 설정합니다.
  6. scrollbar 변수에 Tkinter의 Scrollbar 클래스로 스크롤바 객체를 생성합니다.
  7. 스크롤바를 윈도우에 배치하고, 세로 방향으로만 스크롤되도록 설정합니다.
  8. 캔버스의 스크롤바와 연동하도록 설정합니다.
  9. frame 변수에 Tkinter의 Frame 클래스로 프레임 객체를 생성합니다.
  10. 캔버스에 프레임을 추가하고, 왼쪽 상단 모서리에 위치하도록 설정합니다.
  11. 반복문을 사용하여 프레임에 라벨을 추가합니다.
  12. root 메인 루프를 실행하여 윈도우를 표시합니다.

이 예제를 실행하면, 수직 스크롤바가 있는 윈도우가 표시되고, 라벨이 있는 프레임이 스크롤될 수 있습니다.

결론

이번 예제에서는 Tkinter를 사용하여 수직 스크롤바를 추가하는 방법에 대해 알아보았습니다. Tkinter를 이용하여 스크롤 가능한 윈도우를 생성하고자 할 때, 이 예제를 참고하시기 바랍니다.