# Botón (Python)

Marta Maria Casetti
mmcasetti@gmail.com 2012
Un widget de botón que emite una señal cuando se pulsa sobre él
Daniel Mustieles
daniel.mustieles@gmail.com 2011 - 2020
Nicolás Satragno
nsatragno@gmail.com 2012 - 2013
Jorge González
jorgegonz@svn.gnome.org 2011

# Button

Un widget de botón conectado a una función de retorno de llamada.

# Código usado para generar este ejemplo

from gi.repository import Gtk import sys

class MyWindow(Gtk.ApplicationWindow): # a window

def __init__(self, app): Gtk.Window.__init__(self, title="GNOME Button", application=app) self.set_default_size(250, 50)

# a button button = Gtk.Button() # with a label button.set_label("Click me") # connect the signal "clicked" emitted by the button # to the callback function do_clicked button.connect("clicked", self.do_clicked) # add the button to the window self.add(button)

# callback function connected to the signal "clicked" of the button 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)

# Métodos útiles para un widget «Button»

En la línea 16, la señal `«clicked»` del botón se conecta a la función de retorno de llamada `do_clicked()` usando `widget.connect(señal, función de retorno de llamada)`. Consulte la sección para obtener una explicación más detallada.

`set_relief(Gtk.ReliefStyle.NONE)` establece el estilo de relieve de los bordes del «Gtk.Button» a «ninguno», opuesto a `Gtk.ReliefStyle.NORMAL`.

Si la etiqueta de un botón es un icono del almacén, `set_use_stock(True)` establece la etiqueta al nombre del icono del almacén correspondiente.

Para establecer una imagen (por ejemplo, una imagen del almacén) para el botón `button`:

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

No debe establecer una etiqueta para el botón después de esto, ya que si lo hace mostrará la etiqueta y no la imagen.

Si usa `set_focus_on_click(False)`, el botón no atrapará el foco cuando el ratón lo pulse. Esto podría ser útil en lugares como barras de herramientas, para que el foco del teclado no se quite del área principal de la aplicación.

# Referencias de la API

En este ejemplo se usa lo siguiente:

GtkButton

GtkWindow