The purpose of this widget is to reassure the user that something is happening. It can operate in one of two modes –
In
determinate mode
, the widget shows an indicator that moves from beginning to end under program control.
In
indeterminate mode
, the widget is animated so the user will believe that something is in progress. In this mode, the indicator bounces back and forth between the ends of the widget.
Syntax:
widget_object = Progressbar(parent, **options)
Code #1 In determinate mode
# Progress bar widget
progress =Progressbar(root, orient =HORIZONTAL,
length =100, mode ='determinate')
# Function responsible for the updation
# of the progress bar value
defbar():
importtime
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()
Output:
Code #2: In indeterminate mode
# Progress bar widget
progress =Progressbar(root, orient =HORIZONTAL,
length =100, mode ='indeterminate')
# Function responsible for the updation
# of the progress bar value
defbar():
importtime
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)
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to [email protected]. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.