IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ Discussion :

Erreur GTK boite de dialogue


Sujet :

GTK+

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2013
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Erreur GTK boite de dialogue
    quand je compile le code suivant du tuto, cette erreur se produit: Gtkdialog has no member named vbox
    j'aimerais savoir comment le débogger

    #include <stdlib.h>
    #include <gtk/gtk.h>

    static GtkWidget *pLabel;
    static GtkWidget *pWindow;

    void lancer_boite(void);

    int main(int argc, char **argv)
    {
    GtkWidget *pVBox;
    GtkWidget *pButton;

    gtk_init(&argc, &argv);

    pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_title(GTK_WINDOW(pWindow), "GtkDialog");
    gtk_window_set_default_size(GTK_WINDOW(pWindow), 320, 200);
    g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);

    pVBox = gtk_vbox_new(TRUE, 0);
    gtk_container_add(GTK_CONTAINER(pWindow), pVBox);

    pButton = gtk_button_new_with_label("Cliquez ici pour saisir votre nom");
    gtk_box_pack_start(GTK_BOX(pVBox), pButton, FALSE, TRUE, 0);

    pLabel = gtk_label_new(NULL);
    gtk_box_pack_start(GTK_BOX(pVBox), pLabel, FALSE, FALSE, 0);

    /* Connexion du signal "clicked" pour ouvrir la boite de dialogue */
    g_signal_connect(G_OBJECT(pButton), "clicked", G_CALLBACK(lancer_boite), NULL);

    gtk_widget_show_all(pWindow);

    gtk_main();

    return EXIT_SUCCESS;
    }

    void lancer_boite(void)
    {
    GtkWidget* pBoite;
    GtkWidget* pEntry;
    const gchar* sNom;

    /* Création de la boite de dialogue */
    /* 1 bouton Valider */
    /* 1 bouton Annuler */
    pBoite = gtk_dialog_new_with_buttons("Saisie du nom",
    GTK_WINDOW(pWindow),
    GTK_DIALOG_MODAL,
    GTK_STOCK_OK,GTK_RESPONSE_OK,
    GTK_STOCK_CANCEL,GTK_RESPONSE_CANCEL,
    NULL);

    /* Création de la zone de saisie */
    pEntry = gtk_entry_new();
    gtk_entry_set_text(GTK_ENTRY(pEntry), "Saisissez votre nom");
    /* Insertion de la zone de saisie dans la boite de dialogue */
    /* Rappel : paramètre 1 de gtk_box_pack_start de type GtkBox */
    gtk_box_pack_start(GTK_BOX(GTK_DIALOG(pBoite)->vbox), pEntry, TRUE, FALSE, 0);

    /* Affichage des éléments de la boite de dialogue */
    gtk_widget_show_all(GTK_DIALOG(pBoite)->vbox);

    /* On lance la boite de dialogue et on récupéré la réponse */
    switch (gtk_dialog_run(GTK_DIALOG(pBoite)))
    {
    /* L utilisateur valide */
    case GTK_RESPONSE_OK:
    sNom = gtk_entry_get_text(GTK_ENTRY(pEntry));
    gtk_label_set_text(GTK_LABEL(pLabel), sNom);
    break;
    /* L utilisateur annule */
    case GTK_RESPONSE_CANCEL:
    case GTK_RESPONSE_NONE:
    default:
    gtk_label_set_text(GTK_LABEL(pLabel), "Vous n'avez rien saisi !");
    break;
    }

    /* Destruction de la boite de dialogue */
    gtk_widget_destroy(pBoite);
    }

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Bonjour.

    Les vbox existent pour Gtk+v2.0.

    Tu dois être en train de compiler pour Gtk+v3.0. Il te faut donc adapter ce code à la nouvelle sauce Gtk...

Discussions similaires

  1. Désactiver la boite de dialogue d'erreur par défaut
    Par bleuerouge dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 05/06/2012, 11h00
  2. Erreur d'affichage dans les boite de dialogue windows
    Par DEVELSI dans le forum Windows
    Réponses: 3
    Dernier message: 26/06/2007, 08h31
  3. Réponses: 4
    Dernier message: 21/07/2006, 11h00
  4. Erreur sur une boite de dialogue WXWIDGETS
    Par barbarello dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 06/01/2006, 20h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo