GTK3 – pulsanti II

2

OK, si continua dal post precedente, ci sono ancora pulsanti da vedere, eccoli.

LinkButton

È quello con un hyperlink, simile a quelli usati nei browser.

class Gtk.LinkButton(uri[, label])
uri è l’indirizzo del sito, label il testo corrispondente; se None o omessa viene visualizzato uri.

get_uri()
ritorna l’uri.

set_uri(uri)
setta l’uri, segnandola come da visitare.

#!/usr/bin/python3

#lb.py

from gi.repository import Gtk

class LinkButtonWindow(Gtk.Window):

    def __init__(self):
        Gtk.Window.__init__(self, title="OK, panico")
        self.set_border_width(10)

        button = Gtk.LinkButton("https://okpanico.wordpress.com",
								"Accedi a OK, panico")
        self.add(button)

win = LinkButtonWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()

lb

Ahemmm… funziona ma come si vede compare un messaggio d’errore – critico. Panico? no, c’è di peggio 😉

SpinButton

Per i pigri, invece di scrivere un numero si fa click sulle frecce per aumentare o diminuire il valore visualizzato.

class Gtk.SpinButton

set_adjustment(adjustment)

set_digits(digits)
numero di cifre visualizzate, fino a 20.

set_increments(step, page)
la velocità con cui i click cambiano il valore visualizzato

set_value(value)

get_value()
ritorna il valore come float

get_value_as_int()
ritorna il valore come integer

set_numeric(numeric)
se numeric è False accetta qualunque testo, se True solo numeri.

set_update_policy(policy)
se True accetta gli aggiornamenti solo se validi.

class Gtk.Adjustment(value, lower, upper, step_increment, page_increment, page_size)

rappresenta un valore con limiti inferiore e superiore, passo e pagina d’incremento e dimensione.

#!/usr/bin/python3

#sb.py

from gi.repository import Gtk

class SpinButtonWindow(Gtk.Window):

    def __init__(self):
        Gtk.Window.__init__(self, title="SpinButton Demo")
        self.set_border_width(10)

        hbox = Gtk.Box(spacing=6)
        self.add(hbox)

        adjustment = Gtk.Adjustment(0, 0, 100, 1, 10, 0)
        self.spinbutton = Gtk.SpinButton()
        self.spinbutton.set_adjustment(adjustment)
        hbox.pack_start(self.spinbutton, False, False, 0)

        check_numeric = Gtk.CheckButton("Numeric")
        check_numeric.connect("toggled", self.on_numeric_toggled)
        hbox.pack_start(check_numeric, False, False, 0)

        check_ifvalid = Gtk.CheckButton("If Valid")
        check_ifvalid.connect("toggled", self.on_ifvalid_toggled)
        hbox.pack_start(check_ifvalid, False, False, 0)

        button = Gtk.Button("???")
        button.connect("clicked", self.on_click_me_clicked)
        hbox.pack_start(button, False, False, 0)

    def on_numeric_toggled(self, button):
        self.spinbutton.set_numeric(button.get_active())

    def on_ifvalid_toggled(self, button):
        if button.get_active():
            policy = Gtk.SpinButtonUpdatePolicy.IF_VALID
        else:
            policy = Gtk.SpinButtonUpdatePolicy.ALWAYS
        self.spinbutton.set_update_policy(policy)

    def on_click_me_clicked(self, button):
        v = self.spinbutton.get_value_as_int()
        print("Adesso vale", v)

win = SpinButtonWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()

sb

OK, basta pulsanti. E visto come sono stato bravo, non ho mai usato “bottone” 😉

Advertisements
Post a comment or leave a trackback: Trackback URL.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: