#!/usr/bin/env python3 import gi gi.require_version('Gtk', '3.0') from gi.repository import Gtk from gi.repository import GObject import random builder = Gtk.Builder() def on_pulse_progressbar(): print("pulse") store = builder.get_object("liststore1") print(store) for item in store: print("value: %i" % item[1]) if item[0] < 100: value = random.randint(0, 5) if value + item[0] > 100: item[0] = 100 else: item[0] += value else: item[0] = 0 if item[1] < 100: value = random.randint(0, 5) if value + item[1] > 100: item[1] = 100 else: item[1] += value else: item[1] = 0 return True class SignalHandler: def on_exit_application(self, *args): Gtk.main_quit() builder.add_from_file("fiodiskmark.glade") builder.connect_signals(SignalHandler()) window = builder.get_object("MainWindow") window.connect("destroy", Gtk.main_quit) testView = builder.get_object("TestTreeView") #store = Gtk.ListStore(int, int) #store.append([0, 0]) #store.append([0, 0]) #testView.set_model(store) progressRead = Gtk.CellRendererProgress() columnRead = Gtk.TreeViewColumn() progressRead.set_fixed_size(-1, 55) progressRead.set_property("text", "Pulse Read"); columnRead.set_expand(True) testView.append_column(columnRead) columnRead.pack_start(progressRead, True) columnRead.add_attribute(progressRead, "value", 0) progressWrite = Gtk.CellRendererProgress() progressWrite.set_fixed_size(-1, 55) progressWrite.set_property("text", "Pulse Write"); columnWrite = Gtk.TreeViewColumn() columnWrite.set_expand(True) testView.append_column(columnWrite) columnWrite.pack_start(progressWrite, True) columnWrite.add_attribute(progressWrite, "value", 1) GObject.timeout_add(250, on_pulse_progressbar) window.show_all() Gtk.main()