# Programmation GTK/Boutons normaux

* Introduction
* Bien débuter
** « Bonjour tout le monde » en GTK
** Compilation de « Bonjour tout le monde »
** Théorie des signaux et des rappels
** « Bonjour tout le monde » pas à pas
** Types de données
** Compléments sur les gestionnaires de signaux
** Un « Bonjour tout le monde » amélioré
* Placement des widgets
** Théorie des boîtes de placement
** Détails sur les boîtes
** Programme de démonstration des placements
** Placement avec les tables
** Exemple de placement avec table
* Vue d'ensemble des widgets
** Conversions de types
** La hiérarchie des widgets
** Widgets sans fenêtre
* Widgets boutons
** Boutons normaux
** Boutons commutateurs
** Cases à cocher
** Boutons radio
* Widgets divers
** Labels
** Le widget bulle d'aide
** Barres de progression
** Boîtes de dialogue
** Pixmaps
* Widgets containers
** Bloc-notes
** Fenêtres avec barres de défilement
* Widgets listes
** Signaux
** Fonctions
** Exemple
** Widget item de liste
* Widgets de sélections de fichiers
* Widgets Menu
** Création manuelle de menus
** Exemple de menu manuel
** Utilisation de GtkMenuFactory
** Exemple d'usine à menu
* Widgets non documentes
** Entrées de texte
** Sélections de couleurs
** Contrôle d'intervalle
** Règles
** Boîtes de texte
** Prévisualisation
** Courbes
* Widget EventBox
* Configuration des attributs de widget
* Temporisations, fonctions d'E/S et d'attente
** Temporisations
** Surveillance des E/S
** Fonctions d'attente
* Gestion des sélections
** Introduction
** Récupération de la sélection
** Fournir la sélection
* glib
** Définitions
** Listes doublement chaînées
** Listes simplement chaînées
** Gestion de la mémoire
** Timers
** Gestion des chaînes
** Utilitaires et fonctions d'erreurs
* Fichiers rc de GTK
** Fonctions pour les fichiers rc
** Format des fichiers rc de GTK
** Exemple de fichier rc
* Écriture de vos propres widgets
** Vue d'ensemble
** Anatomie d'un widget
** Création d'un widget composé
** Création d'un widget à partir de zéro
** En savoir plus
* Scribble, un programme simple de dessin
** Présentation
** Gestion d'événement
** Le widget DrawingArea et le dessin
** Ajouter le support XInput
* Conseils pour l'écriture d'applications GTK
* Contributions
* Remerciements
* Copyright
* Introduction
* Bien débuter
** « Bonjour tout le monde » en GTK
** Compilation de « Bonjour tout le monde »
** Théorie des signaux et des rappels
** « Bonjour tout le monde » pas à pas
** Types de données
** Compléments sur les gestionnaires de signaux
** Un « Bonjour tout le monde » amélioré
* Placement des widgets
** Théorie des boîtes de placement
** Détails sur les boîtes
** Programme de démonstration des placements
** Placement avec les tables
** Exemple de placement avec table
* Vue d'ensemble des widgets
** Conversions de types
** La hiérarchie des widgets
** Widgets sans fenêtre
* Widgets boutons
** Boutons normaux
** Boutons commutateurs
** Cases à cocher
** Boutons radio
* Widgets divers
** Labels
** Le widget bulle d'aide
** Barres de progression
** Boîtes de dialogue
** Pixmaps
* Widgets containers
** Bloc-notes
** Fenêtres avec barres de défilement
* Widgets listes
** Signaux
** Fonctions
** Exemple
** Widget item de liste
* Widgets de sélections de fichiers
* Widgets Menu
** Création manuelle de menus
** Exemple de menu manuel
** Utilisation de GtkMenuFactory
** Exemple d'usine à menu
* Widgets non documentes
** Entrées de texte
** Sélections de couleurs
** Contrôle d'intervalle
** Règles
** Boîtes de texte
** Prévisualisation
** Courbes
* Widget EventBox
* Configuration des attributs de widget
* Temporisations, fonctions d'E/S et d'attente
** Temporisations
** Surveillance des E/S
** Fonctions d'attente
* Gestion des sélections
** Introduction
** Récupération de la sélection
** Fournir la sélection
* glib
** Définitions
** Listes doublement chaînées
** Listes simplement chaînées
** Gestion de la mémoire
** Timers
** Gestion des chaînes
** Utilitaires et fonctions d'erreurs
* Fichiers rc de GTK
** Fonctions pour les fichiers rc
** Format des fichiers rc de GTK
** Exemple de fichier rc
* Écriture de vos propres widgets
** Vue d'ensemble
** Anatomie d'un widget
** Création d'un widget composé
** Création d'un widget à partir de zéro
** En savoir plus
* Scribble, un programme simple de dessin
** Présentation
** Gestion d'événement
** Le widget DrawingArea et le dessin
** Ajouter le support XInput
* Conseils pour l'écriture d'applications GTK
* Contributions
* Remerciements
* Copyright
[ Modifier le sommaire ]
On a déjà presque vu tout ce qu'il y avait à voir sur le widget bouton. Il est très simple. Cependant, il y a deux façons de créer un bouton. On peut utiliser gtk_button_new_with_label pour créer un bouton avec un label, ou gtk_button_new pour créer un bouton vide. Dans ce dernier cas, c'est à vous de placer un label ou un pixmap sur celui-ci. Pour ce faire, créez une boîte, puis placez vos objets dans celle-ci en utilisant la fonction habituelle gtk_box_pack_start, utilisez alors gtk_container_add pour placer la boîte dans le bouton.
Voici un exemple d'utilisation de gtk_button_new pour créer un bouton contenant une image et un label. J'ai séparé du reste le code qui crée une boîte pour que vous puissiez l'utiliser dans vos programmes.
La fonction xpm_label_box peut être utilisée pour placer des xpms et des labels sur tout widget qui peut être container.