42 lines
1.0 KiB
Python
42 lines
1.0 KiB
Python
import gi
|
|
|
|
gi.require_version("Gtk", "3.0")
|
|
from gi.repository import Gtk
|
|
|
|
|
|
class SpinnerAnimation(Gtk.Window):
|
|
def __init__(self):
|
|
super().__init__(title="Spinner")
|
|
self.set_border_width(3)
|
|
self.connect("destroy", Gtk.main_quit)
|
|
|
|
self.button = Gtk.ToggleButton(label="Start Spinning")
|
|
self.button.connect("toggled", self.on_button_toggled)
|
|
self.button.set_active(False)
|
|
|
|
self.spinner = Gtk.Spinner()
|
|
|
|
self.grid = Gtk.Grid()
|
|
self.grid.add(self.button)
|
|
self.grid.attach_next_to(
|
|
self.spinner, self.button, Gtk.PositionType.BOTTOM, 1, 2
|
|
)
|
|
self.grid.set_row_homogeneous(True)
|
|
|
|
self.add(self.grid)
|
|
self.show_all()
|
|
|
|
def on_button_toggled(self, button):
|
|
if button.get_active():
|
|
self.spinner.start()
|
|
self.button.set_label("Stop Spinning")
|
|
else:
|
|
self.spinner.stop()
|
|
self.button.set_label("Start Spinning")
|
|
|
|
|
|
myspinner = SpinnerAnimation()
|
|
|
|
Gtk.main()
|
|
|