# Button (Python)

Marta Maria Casetti
mmcasetti@gmail.com 2012
Un bouton qui émet un signal quand il est cliqué
Luc Rebert,
traduc@rebert.name 2011
Alain Lojewski,
allomervan@gmail.com 2011-2012
Luc Pionchon
pionchon.luc@gmail.com 2011
Bruno Brouard
annoa.b@gmail.com 2011-12
Luis Menina
liberforce@freeside.fr 2014

# Button

Un bouton connecté à une fonction de rappel simple.

# Code utilisé pour générer cet exemple

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éthode utiles pour un composant graphique Button

In line 16 the `"clicked"` signal from the button is connected to the callback function `do_clicked()` using `widget.connect(signal, callback function)`. See for a more detailed explanation.

La méthode `set_relief(Gtk.ReliefStyle.NONE)` annule le style en relief des bordures du Gtk.Button - à l'opposé, `Gtk.ReliefStyle.NORMAL` le rétablit.

Si l'étiquette du bouton est issue de la collection d'icônes, la méthode `set_use_stock(True)` assigne l'étiquette comme étant le nom de l'icône correspondante de la collection.

Pour assigner une image (par ex. une image de la collection d'images) au bouton `button` :

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

Vous ne devez plus assigner d'étiquette au bouton après cela, sinon il affichera l'étiquette au lieu de l'image.

La fonction `set_focus_on_click(False)` empêche le bouton de prendre le focus quand vous cliquez dessus avec la souris. Cela peut être utile dans les barres d'outils, afin que la zone principale de l'application ne perde pas le focus clavier.

# Références API

Dans cet exemple, les éléments suivants sont utilisés :

GtkButton

GtkWindow