Les boites de dialogue

  1. Introduction
  2. Création d’une boite de dialogue

1. Introduction

Dans ce cours, nous allons voir comment créer une boite de dialogue. Une boite de dialogue s’agit d’une petite fenêtre (Popup) destinée à demander à l’utilisateur des informations ou à lui afficher des informations.

Avec le GTK+, il existe plusieurs sortes de boite de dialogue, mais ici nous n’allons voir que les deux les plus utilisés :

  • La boite de dialogue standard : elle peut venir avec des boutons
  • La boite de dialogue de message : elle est destinée à afficher des messages

Le widget concernant la boite de dialogue standard est GtkDialog. Il est l’heureux héritier de GtkWindow et de tous les ancêtres de GtkWindow. Le widget concernant la boite de dialogue de message est GtkMessageDialog. Il est heureux héritier de GtkDialog et de tous les ancêtres de GtkDialog.

2. Création d’une boite de dialogue

Comme d’habitude, pour créer une boite de dialog, on doit commencer par déclarer un pointeur vers Gtkwidget.

Dans notre cas, ça sera :

Ensuite, on passe à l’initialisation. Dans ce cas, on a trois options :

  • Pour une boite de dialogue standard et sans paramètres.
    Syntaxe :
    GtkWidget* gtk_dialog_new (void);
  • Une boite de dialogue standard avec des boutons :
    Synataxe :
    GtkWidget* gtk_dialog_new_with_buttons (const gchar *titre_de_la_boite_de_dialogue,
    GtkWindow *fenêtre_parent,
    GtkDialogFlags flags,
    const gchar *first_button_text,
    ...);

    Ici le paramètre flags peut être GTK_DIALOG_MODAL (pour la création d’une boite de dialogue modale), GTK_DIALOG_DESTROY_WITH_PARENT (pour la création d’une boite qui sera automatiquement fermée si la fenêtre parent est fermée) ou GTK_DIALOG_NO_SEPARATOR (Si on veut qu’il n’ait pas une ligne de séparation entre la zone de travail et la zone de réponse).
  • Une boite de dialogue de message :
    Syntaxe :
    GtkWidget* gtk_message_dialog_new (GtkWindow *fenêtre_parent, GtkDialogFlags flags, GtkMessageType type, GtkButtonsType buttons, const gchar *message_à_afficher, ...);

    Ici GtkmessageType peut être GTK_MESSAGE_INFO pour une information, GTK_MESSAGE_WARNING pour un avertissement, GTK_MESSAGE_QUESTION pour une question ou GTK_MESSAGE_ERROR pour signaler une erreur.
    buttons peut avoir comme valeur GTK_BUTTONS_NONE si on ne veut pas afficher de bouton, GTK_BUTTONS_OK si on veut mettre un bouton Ok, GTK_BUTTONS_CLOSE pour un bouton Fermer, GTK_BUTTONS_CANCEL pour un bouton Annuler , GTK_BUTTONS_YES_NO pour deux bouton YES/NO ou GTK_BUTTONS_OK_CANCEL pour un bouton Annuler.

Dans notre cas, ça sera :

Exemple :
Voici une capture de ce que nous allons faire:
GtkDialog, cours langage C, gtk+
Code C :



Une question? Cliquez ici pour la poser.

Retour sur le portail du langage C/C++