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+ avec C & C++ Discussion :

ComboBox et glade : ajout de donnees dynamiquement


Sujet :

GTK+ avec C & C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Points : 15
    Points
    15
    Par défaut ComboBox et glade : ajout de donnees dynamiquement (gtkmm)
    Bonjour,
    J'ai créé un GtkComboBox dans Glade et je l'ai récupéré dans mon code en C++ (un GtkComboBoxText aurait été parfait, mais bon, Glade veut pas alors tampis). J'essaie d'ajouter du texte dans le ComboBox mais je n'y arrive pas. Je ne peux pas utiliser "gtk_combo_box_append_text" puisqu'il n'est pas créé avec "gtk_combo_box_new_text". J'ai testé "_combobox->set_model(ListeStore)", "_combobox->add(Label)", mais rien ne correspond à ce que je veux.
    Avez-vous une solution ?

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    C'est du C mais cela pourra quand même peut-être t'aider http://franckh.developpez.com/tutori...k/gtkcombobox/
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Bon ben je suis partie sur "gtk_combo_box_append_text". J'ai testé ça, à partir du tutoriel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gtk_combo_box_append_text  (GTK_COMBO_BOX (_combobox), "Element ... 4");
    Mais j'ai toujours rien dans ma ComboBox

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par mel l'ange Voir le message
    Bon ben je suis partie sur "gtk_combo_box_append_text". J'ai testé ça, à partir du tutoriel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gtk_combo_box_append_text  (GTK_COMBO_BOX (_combobox), "Element ... 4");
    Mais j'ai toujours rien dans ma ComboBox
    Oui mais comme tu l'as signalé sur ton premier post, tu n'as pas créé ton combo avec la fonction gtk_combo_box_new_text donc c'est normal que cela ne marche pas, toi tu dois utiliser comme expliqué dans le tutoriel, la Mise en oeuvre personnalisée. A moins que tu mettes en place le widget toi même dans le code à l'emplacement prévu au lieu de laisser ca à glade car je sais, j'ai aussi remarqué qu'il est encore truffé de bugs
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    gtk_combo_box_set_model (_combobox, GTK_TREE_MODEL (p_model));
     
    erreur: cannot convert ‘Gtk::ComboBox*’ to ‘GtkComboBox*’ for argument ‘1’ to ‘void gtk_combo_box_set_model(GtkComboBox*, GtkTreeModel*)
    Je crois que ça va pas le faire si je mélange le C et le ++. Je préfère rester en objet, donc je vais essayer de le créer par moi-même. Comme ça je pourrais utiliser ComboBoxText, beaucoup plus adapté pour moi

    Edit : toujours pas de solution. Ca compile mais l'exécution s'arrête sans donner d'erreur explicite avec ça : "_comboboxtext->append_text("Texte");" (en commentant ça, tout marche).
    J'ai trouvé une fonction "get_widget_derived()". A voir...

    Edit 2 : comme solution de rechange, j'ai les onglets, qui s'ajouterait dynamiquement. Mais là aussi, impossible de faire apparaître le deuxième onglets à côté de celui qui est déjà défini dans Glade. Je mets des "show" partout poutant. Bien galère tout ça...

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 16
    Points : 15
    Points
    15
    Par défaut
    Ca y est, ça marche enfin ! Fallait juste que je dorme peut être, et que je nettoie un peu mon code de tous ces essais.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    // Créé par Glade
    Gtk::Fixed *_fixed;
    // Créé manuellement
    Gtk::ComboBoxText _comboboxtext;
     
    // Récupérer à partir de Glade
    _refXml->get_widget( "fixed1", _fixed ) ;
    // Ajout de la ComboBoxText manuellement
    _fixed->put (_comboboxtext, 32, 16);
    _comboboxtext.set_size_request (224, 40);
    _fixed->show_all(); // C'est vrai qu'il faut pas l'oublier celui-là
     
    _comboboxtext.append_text(_nomCourant);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.Net] Ajout de composant dynamique
    Par le Daoud dans le forum ASP.NET
    Réponses: 4
    Dernier message: 13/02/2006, 11h21
  2. [TPageControl] Ajouter un tabsheet dynamiquement
    Par qi130 dans le forum Langage
    Réponses: 6
    Dernier message: 29/09/2005, 20h57
  3. [VB.NET] Ajout de controles dynamiquement
    Par A77 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 25/04/2005, 09h00
  4. [C#] ajouter une image dynamiquement
    Par h_imane dans le forum ASP.NET
    Réponses: 4
    Dernier message: 21/04/2004, 11h27
  5. ajouter un champ dynamiquement à une instance de table
    Par maniack dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/02/2004, 23h58

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