Tiré de GTK+ Reference Manual

GtkButton

GtkButton — Widget qui crée un signal quand on clique dessus.

Synopsis

#include <gtk/gtk.h>


GtkButton;
GtkWidget* gtk_button_new (void);
GtkWidget* gtk_button_new_with_label (const gchar *label);
GtkWidget* gtk_button_new_with_mnemonic (const gchar *label);
GtkWidget* gtk_button_new_from_stock (const gchar *stock_id);
void gtk_button_pressed (GtkButton *button);
void gtk_button_released (GtkButton *button);
void gtk_button_clicked (GtkButton *button);
void gtk_button_enter (GtkButton *button);
void gtk_button_leave (GtkButton *button);
void gtk_button_set_relief (GtkButton *button,
GtkReliefStyle newstyle);
GtkReliefStyle gtk_button_get_relief (GtkButton *button);
const gchar* gtk_button_get_label (GtkButton *button);
void gtk_button_set_label (GtkButton *button,
const gchar *label);
gboolean gtk_button_get_use_stock (GtkButton *button);
void gtk_button_set_use_stock (GtkButton *button,
gboolean use_stock);
gboolean gtk_button_get_use_underline (GtkButton *button);
void gtk_button_set_use_underline (GtkButton *button,
gboolean use_underline);
void gtk_button_set_focus_on_click (GtkButton *button,
gboolean focus_on_click);
gboolean gtk_button_get_focus_on_click (GtkButton *button);
void gtk_button_set_alignment (GtkButton *button,
gfloat xalign,
gfloat yalign);
void gtk_button_get_alignment (GtkButton *button,
gfloat *xalign,
gfloat *yalign);
void gtk_button_set_image (GtkButton *button,
GtkWidget *image);
GtkWidget* gtk_button_get_image (GtkButton *button);
void gtk_button_set_image_position (GtkButton *button,
GtkPositionType position);
GtkPositionType gtk_button_get_image_position (GtkButton *button);

Hiérarchie de l'Objet

GObject
+----GInitiallyUnowned
+----GtkObject
+----GtkWidget
+----GtkContainer
+----GtkBin
+----GtkButton
+----GtkToggleButton
+----GtkColorButton
+----GtkFontButton
+----GtkLinkButton
+----GtkOptionMenu

Interfaces Implémentés

GtkButton implémente AtkImplementorIface.

Propriétés

  "focus-on-click"           gboolean              : Lire /Ecrire
"image" GtkWidget : Lire /Ecrire
"image-position" GtkPositionType : Lire /Ecrire
"label" gchararray : Lire /Ecrire / Construction
"relief" GtkReliefStyle : Lire /Ecrire
"use-stock" gboolean : Lire /Ecrire / Construction
"use-underline" gboolean : Lire /Ecrire / Construction
"xalign" gfloat : Lire /Ecrire
"yalign" gfloat : Lire /Ecrire

Propriétés de Style

  "child-displacement-x"     gint                  : Lire
"child-displacement-y" gint : Lire
"default-border" GtkBorder : Lire
"default-outside-border" GtkBorder : Lire
"displace-focus" gboolean : Lire
"image-spacing" gint : Lire
"inner-border" GtkBorder : Lire

Signaux

  "activate"                                       : Exécuter Premier / Action
"clicked" : Exécuter Premier / Action
"enter" : Exécuter Premier
"leave" : Exécuter Premier
"pressed" : Exécuter Premier
"released" : Exécuter Premier

Description

Le widget GtkButton est généralement utilisé pour y lier une fonction appelée quand on presse sur le bouton. Les  signaux variés et leur utilisation sont décrits ci-dessous.

Le widget GtkButton peut contenir n'importe quel widget enfant valide. C'est à dire qu' il pourra contenir la plupart des autres  GtkWidget standards. L'enfant le plus communément utilisé est le GtkLabel.

Détails

GtkButton


typedef struct _GtkButton GtkButton;

On ne peut pas accéder à la structure directement. Utilisez les fonctions accessoires décrites plus bas.


gtk_button_new ()


GtkWidget*          gtk_button_new                      (void);

Crée un nouveau widget  GtkButton . Pour ajouter un widget enfant au bouton, utilisez  gtk_container_add().

Retourne : Le widget GtkButton nouvellement créé.

gtk_button_new_with_label ()


GtkWidget*          gtk_button_new_with_label           (const gchar *label);

Crée un widget  GtkButton avec un  GtkLabel enfant contenant un texte donné.

label : texte que vous désirez placer dans le  GtkLabel 
Retourne : Le widget GtkButton nouvellement créé.

gtk_button_new_with_mnemonic ()


GtkWidget*          gtk_button_new_with_mnemonic        (const gchar *label);

Crée un nouveau  GtkButton contenant un label. Si les caractères dans le labelsont précédés d'un underscore, ils seront soulignés. Si vous avez besoin d'utiliser un underscore litéral dans le label, utilisez  '__' (deux underscores). Le premier caractère souligné représente un accélérateur clavier appelé mnémonique. Pressersur Alt et sur cette touche active lebouton.

label : texte du bouton avec un underscore à côté du caractère mnémonique.
Retourne : un nouveau  GtkButton

gtk_button_new_from_stock ()


GtkWidget*          gtk_button_new_from_stock           (const gchar *stock_id);

Crée un nouveau  GtkButton contenant l'image et le texte d'un stock item. Certains identifiants du stock ont des macros de préprocesseur comme  GTK_STOCK_OK et GTK_STOCK_APPLY.

Si stock_id n'est pas connu alors il sera traîté comme un label mnémonique (comme pour  gtk_button_new_with_mnemonic()).

stock_id : nom du stock item
Retourne : un nouveau GtkButton

gtk_button_pressed ()


void                gtk_button_pressed                  (GtkButton *button);

Emet le signal  GtkButton::pressed pour le GtkButton donné.

button :  GtkButton auquel vous voulez envoyer le signal

gtk_button_released ()


void                gtk_button_released                 (GtkButton *button);

Emet le signal  GtkButton::released au GtkButton donné.

button :  GtkButton auquel vous voulez envoyer le signal

gtk_button_clicked ()


void                gtk_button_clicked                  (GtkButton *button);

Emet le sigan  GtkButton::clicked au GtkButton donné.

button :  GtkButton auquel vous voulez envoyer le signal

gtk_button_enter ()


void                gtk_button_enter                    (GtkButton *button);

Emet le signal  GtkButton::enter au GtkButton donné.
button :  GtkButton auquel vous voulez envoyer le signal

gtk_button_leave ()


void                gtk_button_leave                    (GtkButton *button);

Emet me siganl  GtkButton::leave au GtkButton donné.
button :  GtkButton auquel vous voulez envoyer le signal

gtk_button_set_relief ()


void                gtk_button_set_relief               (GtkButton *button,
GtkReliefStyle newstyle);

Définit le style de relief pour les bords d'un widget GtkButton donné. Trois styles existent, GTK_RELIEF_NORMAL, GTK_RELIEF_HALF, GTK_RELIEF_NONE. Le style par défaut est ,comme on peut le deviner, GTK_RELIEF_NORMAL.

button : GtkButton pour lequel vous voulez définir le style de reliefs.
newstyle :  GtkReliefStyle comme décrit plus bas.

gtk_button_get_relief ()


GtkReliefStyle      gtk_button_get_relief               (GtkButton *button);

Retourne le style de relief d'un  GtkButton donné.

button :  GtkButton pour lequel vous voulez trouver  le style GtkReliefStyle 
Retourne :  GtkReliefStyle courant

gtk_button_get_label ()


const gchar*        gtk_button_get_label                (GtkButton *button);

Recherche le texte d'un label d'un bouton défini par  gtk_button_set_label(). Si le texte du label n'apas été défini la valeur retournée sera NULL. Ce sera le cas si vous créez un bouton vide avec  gtk_button_new() utilisé comme un conteneur.

button : un GtkButton
Retourne : Texte du widget label. Cette chaîne appartient au widget et ne doit pas être modifiée ni libérée.

gtk_button_set_label ()


void                gtk_button_set_label                (GtkButton *button,
const gchar *label);

Définit le texte du label du bouton  à str. Ce texte est aussi utilisé pour sélectionné le stock item si gtk_button_set_use_stock() est utilisé.

Cette fonction efface également tout label déjà défini.

button : un GtkButton
label : une chaîne

gtk_button_get_use_stock ()


gboolean            gtk_button_get_use_stock            (GtkButton *button);

Retourne  si le label du bouton est un stock item.

button : un GtkButton
Retourne : TRUE si le label du bouton est utilisé pour sélectionner un stock item au lieu  d'être utilisé directement comme le texte du label. 

gtk_button_set_use_stock ()


void                gtk_button_set_use_stock            (GtkButton *button,
gboolean use_stock);

Si use_stock est TRUE, le label défini pour le bouton est utilisé comme  identifiant du stock pour sélectionner le stock item du le bouton.
button : un GtkButton
use_stock : TRUE si le bouton doit utiliser un stock item.

gtk_button_get_use_underline ()


gboolean            gtk_button_get_use_underline        (GtkButton *button);

Retourne s'il y a un soulignement dans le label du bouton indiquant un mnémonique. Voir gtk_button_set_use_underline().

button : a GtkButton
Retourne : TRUE if an embedded underline in the button label indicates the mnemonic accelerator keys.

gtk_button_set_use_underline ()


void                gtk_button_set_use_underline        (GtkButton *button,
gboolean use_underline);

Si use_underline est  true, un soulignement dans le texte du label du bouton indique  que le caractère qui suit sera utilisé comme touche mnémonique.

button : un GtkButton
use_underline : TRUE si un soulignement dan le texte signale des mnémoniques.

gtk_button_set_focus_on_click ()


void                gtk_button_set_focus_on_click       (GtkButton *button,
gboolean focus_on_click);

Définit si le bouton prend le focus quand la souris clique sur lui. Il est quelque fois utile d'empêcher cette prise de focus par les barres d'outils quand vous ne voulez pas retirer le focus à l'aire principale de l'application.

button : un GtkButton
focus_on_click : si le bouton prend le focus quand la souris clique sur lui

Depuis 2.4


gtk_button_get_focus_on_click ()


gboolean            gtk_button_get_focus_on_click       (GtkButton *button);

Retourne si le bouton prend le focus quand la souris clique sur lui. Voir  gtk_button_set_focus_on_click().

button : un GtkButton
Retourne : TRUE si le bouton prend le focus quand la souris clique sur lui

Depuis 2.4


gtk_button_set_alignment ()


void                gtk_button_set_alignment            (GtkButton *button,
gfloat xalign,
gfloat yalign);

Définit l'alignement des enfants. Cette propriété n'a pas d'éffet à moins que l'enfant soit un GtkMisc ou un GtkAligment.

button : un GtkButton
xalign : position horizontale de l'enfant, 0.0 pour un alignement à gauche, 1.0 pour un alignement à droite
yalign : position verticale de l'enfant, 0.0 pour un alignement en haut, 1.0 pour un alignement en bas

Depuis 2.4


gtk_button_get_alignment ()


void                gtk_button_get_alignment            (GtkButton *button,
gfloat *xalign,
gfloat *yalign);

renvoie l'alignement de l'enfant dans le bouton.

button : un GtkButton
xalign : localisation retournée pour l'alignement horizontal
yalign : localisation retournée pour l'alignement vertical

Depuis 2.4


gtk_button_set_image ()


void                gtk_button_set_image                (GtkButton *button,
GtkWidget *image);

Définit l'image du  buttonpour un widget donné. Notez que l'affichage de l'image   dépend de la définition de gtk-button-images, vous n'avez pas à appeler vous-même gtk_widget_show() sur l'image.

button : un GtkButton
image : widget definit comme image pour le bouton

Depuis 2.6


gtk_button_get_image ()


GtkWidget*          gtk_button_get_image                (GtkButton *button);

Renvoie le widget qui est défini comme image du  button. Il  peut avoir été défini explicitement par  gtk_button_set_image() ou construit avec  gtk_button_new_from_stock().

button : un GtkButton
Retourne : un GtkWidget ou NULL s'il n'y a pas d'image

Depuis 2.6


gtk_button_set_image_position ()


void                gtk_button_set_image_position       (GtkButton *button,
GtkPositionType position);

Définit la position de l'image relativement au texte dans le bouton.

button : un GtkButton
position : position

Depuis 2.10


gtk_button_get_image_position ()


GtkPositionType     gtk_button_get_image_position       (GtkButton *button);

Renvoie la position de l'image relativement au texte dans le bouton.

button : un GtkButton
Retourne : la position

Depuis 2.10

Détails de Propriétés

La propriété "focus-on-click


  "focus-on-click"           gboolean              : Lire /Ecrire

Si le bouton prend le focus quand la souris clique dessus.

Valeur par défaut : TRUE


La propriété "image


  "image"                    GtkWidget             : Lire /Ecrire

Widget enfant qui apparaît à côté du texte du bouton.


La propriété "image-position


  "image-position"           GtkPositionType       : Lire /Ecrire

Position de l'image relativement au texte à l'intérieur du bouton.

Valeur par défaut : GTK_POS_LEFT

Depuis 2.10


La propriété "label


  "label"                    gchararray            : Lire /Ecrire / Construction	

Teste du widget label dans le bouton, si le bouton contient un widget label.

Valeur par défaut : NULL


La propriété "relief


  "relief"                   GtkReliefStyle        : Lire /Ecrire

Style de relief des bords.

Valeur par défaut : GTK_RELIEF_NORMAL


La propriété "use-stock


  "use-stock"                gboolean              : Lire /Ecrire / Construction	

Si elle est définit  le label est utilisé pour sélectionner un stock item au lieu d'être affiché.

Valeur par défaut : FALSE


La propriété "use-underline


  "use-underline"            gboolean              : Lire /Ecrire / Construction	

Si la propriété est définie, un soulignement dans le texte indique que le caractère qui suit sera utilisé comme touche d'accélérateur mnémonique.

Valeur par défaut : FALSE


La propriété "xalign


  "xalign"                   gfloat                : Lire /Ecrire

Si l'enfant du bouton est un  GtkMisc ou un GtkAlignment, cette propriété peut être utilisée pour contrôler son alignement horizontal  0.0 pour un alignement à gauche,  1.0 pour un alignement à droite.

Valeurs permises: [0,1]

Valeur par défaut : 0.5

Depuis 2.4


La propriété "yalign


  "yalign"                   gfloat                : Lire /Ecrire

Si l'enfant du bouton est un  GtkMisc ou un GtkAlignment, cette propriété peut être utilisée pour contrôler son alignement vertical 0.0 pour un alignement en haut,  1.0 pour un alignement en bas.

Valeurs permises: [0,1]

Valeur par défaut : 0.5

Depuis 2.4

Détails de Propriétés de  Style 

La propriété de style  "child-displacement-x


  "child-displacement-x"     gint                  : Lire

A quelle distance dans la direction des X l'enfanr est déplacé quand le bouton est laché.

Valeur par défaut : 0


La propriété de style  "child-displacement-y


  "child-displacement-y"     gint                  : Lire

A quelle distance dans la direction des Y l'enfanr est déplacé quand le bouton est laché.

Valeur par défaut : 0


La propriété de style  "default-border


  "default-border"           GtkBorder             : Lire

Espace supplémentaire ajouté pour les boutons  CAN_DEFAULT.


La propriété de style  "default-outside-border


  "default-outside-border"   GtkBorder             : Lire

Espace supplémentaire ajouté pour les boutons  CAN_DEFAULT qui sont toujours dessinés en dehors de limites.


La propriété de style  "displace-focus


  "displace-focus"           gboolean              : Lire

Si la propriété  séplacement X de l'enfant /  déplacement Y de l'enfant doit aussi affecter le rectangle du focus.

Valeur par défaut : FALSE

Depuis 2.6


La propriété de style  "image-spacing


  "image-spacing"            gint                  : Lire

Espace en pixels entre l'image et le label.

Valeurs permises: >= 0

Valeur par défaut : 2


La propriété de style  "inner-border


  "inner-border"             GtkBorder             : Lire

Définit la frontière entre les bords du bouton et les bords de l'enfant.

Depuis 2.10

Détails de Signaux

Le signal  "activate" 


void                user_function                      (GtkButton *widget,
gpointer user_data) : Exécuter Premier / Action

Le signal "activate" sur GtkButton est un signal d'action et son émission provoque une animation du bouton, on le voit pressé puis relevé. Les applications ne devraient jamais connecter ce signal mais utiliser le signal  "clicked".

widget : objet qui reçoit le signal
user_data : données utilisateur définies quand le gestionnaire de signal a été connecté.

Le signal  "clicked" 


void                user_function                      (GtkButton *button,
gpointer user_data) : Exécuter Premier / Action

Emis quand le bouton a été activé (pressé ou relaché)

button : objet qui reçoit le signal
user_data : données utilisateur définies quand le gestionnaire de signal a été connecté.

Le signal  "enter"


void                user_function                      (GtkButton *button,
gpointer user_data) : Exécuter Premier

Emis quand la flèche entre dans le bouton.

Déprécié: Utilisez le signal  GtkWidget::enter-notify-event.

button : objet qui reçoit le signal
user_data : données utilisateur définies quand le gestionnaire de signal a été connecté.

Le signal  "leave"


void                user_function                      (GtkButton *button,
gpointer user_data) : Exécuter Premier

Emis quand la flèche de la souris sort du bouton.

Déprécié :  Utilisez le signal  GtkWidget::leave-notify-event 

button : objet qui reçoit le signal
user_data : données utilisateur définies quand le gestionnaire de signal a été connecté.

Le signal  "pressed"


void                user_function                      (GtkButton *button,
gpointer user_data) : Exécuter Premier

Emis quand le bouton est pressé.

Déprécié: Utilisez le signal Use the GtkWidget::button-press-event.

button : objet qui reçoit le signal
user_data : données utilisateur définies quand le gestionnaire de signal a été connecté.

Le signal  "released"


void                user_function                      (GtkButton *button,
gpointer user_data) : Exécuter Premier

Emis quand le bouton est relaché.

Déprécié: Utilisez le signal GtkWidget::button-release-event .

button : objet qui reçoit le signal
user_data : données utilisateur définies quand le gestionnaire de signal a été connecté.