LANGUAGE/Python

Python tkinter Progressbar (진행바)

창슈 2021. 10. 16. 22:43

Python tkinter Progressbar에 대해 살펴보겠습니다.

Progressbar는 현재 진행상황을 나타내는 바를 출력하는 위젯입니다.

 

Progressbar 만들기

Progressbar는 tkinter.ttk 모듈에 progressbar(window) 함수로 생성합니다.

매개변수로 Progressbar가 생성될 window를 넣어줘야 합니다.

생성한 후 pack() 함수로 Progressbar를 화면에 배치합니다.

import tkinter
import tkinter.ttk

win = tkinter.Tk();

progressbar = tkinter.ttk.Progrssbar(win, maximum=100);
progressbar.pack();

win.mainloop();

 

 

이제 Progressbar에 현재 진행 중인 작업에 진행도를 나타내 주시면 됩니다.

import tkinter
import tkinter.ttk

win = tkinter.Tk();

currProgrssbar = tkinter.DoubleVar();
progressbar = tkinter.ttk.Progrssbar(win, maximum=100, variable=currProgress);
progressbar.pack();

def setProgrss():
    for i in range(10000):
        currProgress.set(i / 10000 * 100);
        progrssbar.update();

button = tkinter.Button(win, text="start", command=setProgrss);
button.pack();

win.mainloop();

 

버튼을 클릭하면 10000번 for문을 돌면서 진행도를 세팅하는 예제코드입니다.

이런 식으로 진행도를 나타내 주시면 됩니다.

 

Progressbar 함수들

이름 기능
start(ms) Progressbar 가 (ms) 밀리초마다 움직임
step(value) Progressbar에 값을 value만큼 증가
stop() Progressbar 작동종료

 

Progressbar 옵션들

1. Progressbar의 동작 관련

이름 기능 기본값 속성
orient Progressbar의 표시 방향 vertical vertical, horizontal
mode Progressbar의 표시 스타일 determinate determinate: 진행바가 처음부터 value까지 채워짐

indeterminate: 진행바가 처음부터 끝까지 반복이동
takefocus Tab키로 위젯이동 허용 False Boolean
maximum Progressbar의 최댓값 설정 100 숫자
value Progressbar의 현재값 설정 0 숫자
variable Progressbar의 현재값
세팅변수
- tkinter.IntVar(),
tkinter.DoubleVar()

 

2. Progressbar의 디자인 관련

이름 기능 기본값 속성
length Progressbar의 길이 100 숫자
cursor Progressbar의 커서 모양 - pointer, arrow등 커서 속성
class_ 클래스 설정 - -