Button (Python) Marta Maria Casetti mmcasetti@gmail.com 2012 Widget tlačítka, který vyšle signál při kliknutí Button

Widget tlačítka napojený na jednoduchou funkci zpětného volání.

Kód použitý k vygenerování tohoto příkladu from gi.repository import Gtk import sys class MyWindow(Gtk.ApplicationWindow): # Okno def __init__(self, app): Gtk.Window.__init__(self, title="GNOME Button", application=app) self.set_default_size(250, 50) # Tlačítko button = Gtk.Button() # s popiskem button.set_label("Click me") # Napojí signál "clicked" vyslaný tlačítkem # na funkci zpětného volání do_clicked button.connect("clicked", self.do_clicked) # Přidá tlačítko do okna self.add(button) # Funkce zpětného volání napojená na signál "clicked" od tlačítka def do_clicked(self, button): print("You clicked me!") 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)
Užitečné metody pro widget Button

Na řádku 16 je signál "clicked" od tlačítka napojen na funkci zpětného volání do_clicked() pomocí widget.connect(signál, funkce zpětného volání). Podrobnější vysvětlení viz .

set_relief(Gtk.ReliefStyle.NONE) nastaví styl reliéfu hran u Gtk.Button na žádný – oproti Gtk.ReliefStyle.NORMAL.

V případě, že je popiskem tlačítka standardní ikona, set_use_stock(True) nastaví label jako odpovídající název standardní ikony.

Pro nastavení obrázku (např. standardního obrázku) u tlačítka button:

image = Gtk.Image() image.set_from_stock(Gtk.STOCK_ABOUT, Gtk.IconSize.BUTTON) button.set_image(image)

Po provedení této části kódu už byste neměli nastavovat popisek pro tlačítko, jinak bude zobrazovat popisek a ne obrázek.

Když použijeme set_focus_on_click(False), nebude tlačítko přebírat zaměření při kliknutí myší. To se může hodit na místech, jako je nástrojová lišta, aby nebylo přebráno zaměření klávesnice do hlavní části aplikace.

Odkazy k API

V této ukázce se používá následující:

GtkButton

GtkWindow