Tento widget Spinner se zastavuje a spouští zmáčknutím mezerníku.
from gi.repository import Gtk
from gi.repository import Gdk
import sys
class MyWindow(Gtk.ApplicationWindow):
# Okno
def __init__(self, app):
Gtk.Window.__init__(self, title="Spinner Example", application=app)
self.set_default_size(200, 200)
self.set_border_width(30)
# Káča
self.spinner = Gtk.Spinner()
# Ve výchozím stavu se točí
self.spinner.start()
# Přidá káču do okna
self.add(self.spinner)
# Obsluha události
# Signál od klávesnice (mezerník) ovládá spuštění/zastavení káči
def do_key_press_event(self, event):
# keyname je symbolický název k hodnotě klávesy poskytnuté událostí
keyname = Gdk.keyval_name(event.keyval)
# Jestliže je "space" (mezerník)
if keyname == "space":
# A káča je aktivní
if self.spinner.get_property("active"):
# Zastaví káču
self.spinner.stop()
# Jestliže káča není aktivní
else:
# Znovu spustí káču
self.spinner.start()
# Zastaví vysílání signálu
return True
class MyApplication(Gtk.Application):
def __init__(self):
Gtk.Application.__init__(self)
def do_activate(self):
win = MyWindow(self)
win.show_all()
def do_startup(self):
Gtk.Application.do_startup(self)
app = MyApplication()
exit_status = app.run(sys.argv)
sys.exit(exit_status)
Gdk.keyval_name(event.keyval)
převádí hodnotu klávesy event.keyval
na symbolický název. Názvy a odpovídající hodnoty kláves můžete najít zde, ale například GDK_KEY_BackSpace
se změní na řetězec "BackSpace"
.
V této ukázce se používá následující:
GtkSpinner
Hodnoty klíčů