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

Python Tkinter 진행 표시줄(Progressbar) 위젯 사용법

진행 표시줄(Progressbar)은 특정 작업의 진행 상황을 시각적으로 보여주는 대표적인 GUI 요소입니다. 파일 다운로드, 데이터 처리처럼 시간이 오래 걸리는 작업에서 현재 진행률을 사용자에게 직관적으로 전달하는 역할을 합니다. 이 글에서는 Python의 tkinter GUI 라이브러리를 활용해 진행 표시줄을 만드는 방법을 살펴보겠습니다.

기본 개념

tkinter에서 진행 표시줄은 tkinter.ttk 모듈에 포함된 Progressbar 클래스를 통해 제공됩니다. 아래 예제 프로그램에서는 먼저 ttk 모듈의 Progressbar 서브모듈을 임포트한 뒤, Style 객체를 사용해 스타일 옵션을 구성하고, 진행 표시줄의 길이(length)와 진행 값(value)을 지정하는 방식으로 작성되었습니다.

예제 코드

import tkinter as tk
from tkinter.ttk import Progressbar
from tkinter import ttk
canv = tk.Tk()
canv.title("Tkinter Progressbar")
canv.geometry('250x100')
style = ttk.Style()
style.theme_use('default')
style.configure("grey.Horizontal.TProgressbar", background='blue')
bar = Progressbar(canv, length=180, style='grey.Horizontal.TProgressbar')
bar['value'] = 50
bar.grid(column=0, row=0)
canv.mainloop()

코드 설명

  • tk.Tk()로 메인 윈도우를 생성하고 창 크기를 250x100으로 설정합니다.
  • style.theme_use('default')로 기본 테마를 적용합니다.
  • style.configure()를 호출해 진행 표시줄의 배경색을 파란색으로 지정합니다.
  • Progressbar(canv, length=180)로 가로 길이 180픽셀의 진행 표시줄을 생성합니다.
  • bar['value'] = 50으로 진행률을 50%로 설정합니다.
  • grid()로 위젯을 배치한 후 mainloop()로 GUI 이벤트 루프를 시작합니다.

실행 결과

위 코드를 실행하면 다음과 같이 절반(50%)만큼 채워진 파란색 진행 표시줄이 화면에 나타납니다.

Python Tkinter 진행 표시줄(Progressbar) 위젯 사용법