Gtk progress bar not updating
When an application can determine how much work needs to take place (e.g.read a fixed number of bytes from a file) and can monitor its progress, it can use the has a main CSS node with name progressbar and subnodes with names text and trough, of which the latter has a subnode named progress. The progress subnode has the style class .pulse when in activity mode.time.sleep(tick) state.value = k 1 # Final activity... Window): def __init__(self): super().__init__(title="Progressing...") self.connect("destroy", Gtk.main_quit) self.set_border_width(10) vbox = Gtk. Value('i', 0) # Guarantee the start state self._stop() def _stop(self): # Guarantee that everything is in "stop mode" if is not None: GObject.source_remove(self.tid) if is not None and is_alive(): terminate() = None = None set_fraction(0.0) set_text('Ready...') def on_start_stop(self, switch, prop): # Check this is the right property if != "active": return self._stop() if not switch.get_active(): return # Launch the activity...
To do this you can use the multiprocessing module (it is easier than it looks) Now you can set a timer in the GUI that periodically check the state of your task and update the progressbar.
depending of what you want to do, # it might be better to use a pool of workers or other tricks = mp.
can be used in two different modes: percentage mode and activity mode.
This can be useful in situations where progress cannot be measured against a value range.
As well as indicating the amount of progress that has occured, the progress bar may be set to just indicate that there is some activity.