Home > Gtk3, PyGObject, python > PyGObject: Gtk.Spinner

PyGObject: Gtk.Spinner

13 Aprile 2020

torna all’indice degli appunti

Spinner

Il widget Gtk.Spinner è un widget provvisto di uno spinner animato e viene utilizzato come
alternativa alla progressbar classica, quando dobbiamo segnalare che l’applicazione sta eseguendo
delle operazioni. Non c’è molto da dire sull’animazione, se non che non è di tipo progressivo
(come la progressbar), che si attiva con il metodo start() e si interrompe con
il metodo stop().

Per creare un Spinner si utilizza il costruttore Gtk.Spinner(**kwargs).
L’unica proprietà è “active” ed è un boolean che indica se il widget è attivo o meno.

Metodi

Di seguito i metodi utilizzabili con il widget Gtk.Spinner:

new()

Metodo costruttore che crea un nuovo oggetto Gtk.Spinner.

start()

Avvia l’animazione dello spinner.

stop()

ferma l’animazione dello spinner.

Di seguito un codice d’esempio:

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk


class GWindow(Gtk.Window):
    def __init__(self):
        super().__init__(title="Spinner")
        self.set_default_size(300, 200)
        self.set_border_width(3)

        button = Gtk.ToggleButton(label="Start")
        self.spinner = Gtk.Spinner()
        # layout
        vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=5)
        vbox.pack_start(button, True, True, 0)
        vbox.pack_start(self.spinner, True, True, 0)
        self.add(vbox)
        # bindings
        button.connect("toggled", self.on_button_toggled)

    def on_button_toggled(self, button):
        if button.get_active():
            self.spinner.start()
            button.set_label("Stop")
        else:
            self.spinner.stop()
            button.set_label("Start")


if __name__ == "__main__":
    win = GWindow()
    win.connect("destroy", Gtk.main_quit)
    win.show_all()
    Gtk.main()

link di riferimento:

torna all’indice degli appunti
Gtk3 Spinner

Categorie:Gtk3, PyGObject, python Tag: , ,
I commenti sono chiusi.