Web Analytics Made Easy - Statcounter
Skip to content

Custom Progress Meter / Progress Bar

Perhaps you don't want all the statistics that the EasyProgressMeter provides and want to create your own progress bar. Use this recipe to do just that.


import PySimpleGUI as sg

sg.theme('Dark Red')

BAR_MAX = 1000

# layout the Window
layout = [[sg.Text('A custom progress meter')],
          [sg.ProgressBar(BAR_MAX, orientation='h', size=(20,20), key='-PROG-')],

# create the Window
window = sg.Window('Custom Progress Meter', layout)
# loop that would normally do something useful
for i in range(1000):
    # check to see if the cancel button was clicked and exit loop if clicked
    event, values = window.read(timeout=10)
    if event == 'Cancel' or event == sg.WIN_CLOSED:
        # update bar with loop value +1 so that bar eventually reaches the maximum
# done with loop... need to destroy the window as it's still open