Цель этого виджета — убедить пользователя в том, что что-то происходит. Он может работать в одном из двух режимов:
В determinate mode (определенный режим), виджет показывает индикатор, который перемещается от начала до конца под управлением программы.
В indeterminate mode (неопределенный режим), виджет анимирован, чтобы пользователь поверил, что что-то происходит. В этом режиме индикатор отскакивает назад и вперед между концами виджета.
Синтаксис:
widget_object = Progressbar(parent, **options)
Код № 1
В определять режим
# importing tkinter module
from tkinter import * from tkinter.ttk import *
# creating tkinter window
root = Tk()
# Progress bar widget
progress = Progressbar(root, orient = HORIZONTAL,
length = 100, mode = 'determinate')
# Function responsible for the updation
# of the progress bar value
def bar():
import time
progress['value'] = 20
root.update_idletasks()
time.sleep(1)
progress['value'] = 40
root.update_idletasks()
time.sleep(1)
progress['value'] = 50
root.update_idletasks()
time.sleep(1)
progress['value'] = 60
root.update_idletasks()
time.sleep(1)
progress['value'] = 80
root.update_idletasks()
time.sleep(1)
progress['value'] = 100
progress.pack(pady = 10)
# This button will initialize
# the progress bar
Button(root, text = 'Start', command = bar).pack(pady = 10)
# infinite loop
mainloop()
Выход:
Код № 2:
В неопределенный режим
# importing tkinter module
from tkinter import * from tkinter.ttk import *
# creating tkinter window
root = Tk()
# Progress bar widget
progress = Progressbar(root, orient = HORIZONTAL,
length = 100, mode = 'indeterminate')
# Function responsible for the updation
# of the progress bar value
def bar():
import time
progress['value'] = 20
root.update_idletasks()
time.sleep(0.5)
progress['value'] = 40
root.update_idletasks()
time.sleep(0.5)
progress['value'] = 50
root.update_idletasks()
time.sleep(0.5)
progress['value'] = 60
root.update_idletasks()
time.sleep(0.5)
progress['value'] = 80
root.update_idletasks()
time.sleep(0.5)
progress['value'] = 100
root.update_idletasks()
time.sleep(0.5)
progress['value'] = 80
root.update_idletasks()
time.sleep(0.5)
progress['value'] = 60
root.update_idletasks()
time.sleep(0.5)
progress['value'] = 50
root.update_idletasks()
time.sleep(0.5)
progress['value'] = 40
root.update_idletasks()
time.sleep(0.5)
progress['value'] = 20
root.update_idletasks()
time.sleep(0.5)
progress['value'] = 0
progress.pack(pady = 10)
# This button will initialize
# the progress bar
Button(root, text = 'Start', command = bar).pack(pady = 10)
# infinite loop
mainloop()