|
#!/usr/bin/python
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import time
|
|
|
|
import gi
|
|
gi.require_version("Gtk", "3.0")
|
|
from gi.repository import Gtk
|
|
|
|
|
|
class Handler:
|
|
|
|
def on_window_destroy(self, *args):
|
|
Gtk.main_quit()
|
|
|
|
def on_go_clicked(self, widget):
|
|
for i in range(101):
|
|
x.progbar1.set_fraction(i / 100)
|
|
x.progbar2.pulse()
|
|
x.progbar2.set_text("{} %".format(i))
|
|
x.levbar1.set_value(i / 100)
|
|
x.levbar2.set_value((i / 100) * 5)
|
|
time.sleep(.05)
|
|
#interrupt main loop to update GUI
|
|
while Gtk.events_pending():
|
|
Gtk.main_iteration()
|
|
x.progbar2.set_fraction(1)
|
|
|
|
|
|
class Example:
|
|
|
|
def __init__(self):
|
|
|
|
self.builder = Gtk.Builder()
|
|
self.builder.add_from_file("06_progresslevel.glade")
|
|
self.builder.connect_signals(Handler())
|
|
|
|
self.progbar1 = self.builder.get_object("prog1")
|
|
self.progbar2 = self.builder.get_object("prog2")
|
|
self.levbar1 = self.builder.get_object("lev1")
|
|
self.levbar2 = self.builder.get_object("lev2")
|
|
|
|
self.levbar2.add_offset_value("high", 4)
|
|
self.levbar2.add_offset_value("full", 5)
|
|
|
|
window = self.builder.get_object("window")
|
|
window.show_all()
|
|
|
|
def main(self):
|
|
Gtk.main()
|
|
|
|
|
|
x = Example()
|
|
x.main()
|