# 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