In this video I’ll show you how to create and use Progress Bars with Kivy and Python.
Progress bars are a great way to visualize the passage of time or anything else in your Kivy app. Creating a progress bar is super easy, you just call it in your .kv file, give it a min and max, and set a default value for whatever position you’d like it to start on.
That’s really all there is to it. To update it you can just reference the id of the ProgressBar on your back end and increment it whenever you like!
In this video I’ll show you how to increment the progress bar 25% every time a user clicks a button.
Python Code: progress.py
GitHub Code: progress.py
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.lang import Builder
# Designate Our .kv design file
Builder.load_file('progress.kv')
class MyLayout(Widget):
def press_it(self):
# Grab the current progress bar value
current = self.ids.my_progress_bar.value
# If statement to start over after 100
if current == 1:
current = 0
# Increment value by .25
current += .25
# Update the progress bar
self.ids.my_progress_bar.value = current
# Update the label
self.ids.my_label.text = f'{int(current*100)}% Progress'
class AwesomeApp(App):
def build(self):
return MyLayout()
if __name__ == '__main__':
AwesomeApp().run()
Kivy Design Code: progress.kv
GitHub Code: progress.kv
<MyLayout>
BoxLayout:
orientation: "vertical"
size: root.width, root.height
Label:
id: my_label
text: "0% Progress"
ProgressBar:
id: my_progress_bar
# Set Default Value
# value: .25
min: 0
max: 1
pos_hint: {'x':.1}
size_hint_x: .8
Button:
text: "Press Me!"
on_press: root.press_it()

Add comment