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_ | 클래스 설정 | - | - |