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 :

[C] [GLADE] Insérer des éléments dans un comboBoxEntry


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de Heavy Metal Hero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2007
    Messages : 152
    Billets dans le blog
    13
    Par défaut [C] [GLADE] Insérer des éléments dans un comboBoxEntry
    Bonjour,
    J'ai créé une interface avec glade 3 comportant une combobox. Je l'ai créée directement dans l'interface et j'ai réussi à la remplir directement depuis le code (Pour pouvoir la modifier dynamiquement). Voilà comment je m'y suis pris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    GtkComboBox* comboClients = GTK_COMBO_BOX(gtk_builder_get_object(data->builder,"combobox1"));
    	GtkTreeIter iter;
    	GtkListStore *store = gtk_list_store_new(1,G_TYPE_STRING);
    	GtkCellRenderer *cell = gtk_cell_renderer_text_new();
     
    	gtk_list_store_append(store,&iter);
    	gtk_list_store_set(store,&iter,0,"1st list item",-1);
    	gtk_list_store_append(store,&iter);
    	gtk_list_store_set(store,&iter,0,"2nd list item",-1);
     
    	gtk_combo_box_set_model(GTK_COMBO_BOX(comboClients), GTK_TREE_MODEL(store));
    	gtk_cell_layout_pack_start( GTK_CELL_LAYOUT( comboClients ), cell, TRUE );
    	gtk_cell_layout_set_attributes( GTK_CELL_LAYOUT( comboClients ), cell, "text", 0, NULL );
    	gtk_combo_box_set_active(GTK_COMBO_BOX(comboClients),0);
    Les éléments sont parfaitement intégrés dans la liste déroulante. Le problème est que j'ai besoin de créer un comboBoxEntry. Le but serait d'afficher dans l'entry l'élément sélectionné dans la liste ou de trouver si elle existe la saisie utilisateur dans la liste. Le code ci dessus m'affiche cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Gtk-CRITICAL **: gtk_entry_set_text: assertion 'text != NULL' failed
    Les éléments sont cependant listés dans le comboboxentry mais me réaffichent l'erreur dans la console quand je les sélectionne.
    J'ai tenté de rajouter ces lignes pour remplir l'entry sans succès :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GtkWidget * saisie = GTK_ENTRY (GTK_BIN (comboClients)->child);
    gtk_entry_set_text(saisie,gtk_combo_box_get_active_text (GTK_COMBO_BOX_ENTRY (comboClients)));
    L'erreur reste la même. Cependant gtk_entry_set_text(saisie,"texte") affiche "texte" dans la zone de saisie.
    Merci de votre aide

  2. #2
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Je pense que c'est parce que ton itérateur n'est pas initialisé. Essaie d'appeler gtk_tree_model_iter_get_first pour l'initialiser, avant d'appeler gtk_list_store_append.

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

Discussions similaires

  1. insérer des éléments dans une string
    Par salyiohh dans le forum Langage
    Réponses: 2
    Dernier message: 23/06/2015, 12h07
  2. insérer et décaler des élèments dans une ArrayList
    Par biljava dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 21/07/2011, 10h05
  3. Insérer des éléments extérieurs dans un projet
    Par razily dans le forum Code::Blocks
    Réponses: 0
    Dernier message: 09/03/2009, 13h14
  4. [MySQL] Insérer des éléments de type FILE dans des sessions pour un panier
    Par akrogames dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/01/2009, 11h30
  5. insérer des élément dans une base de donné
    Par wiss20000 dans le forum JDBC
    Réponses: 5
    Dernier message: 01/03/2007, 14h49

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