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 :

Récupérer une liste de RadioButton


Sujet :

GTK+ avec C & C++

  1. #1
    Membre confirmé Avatar de thibane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2007
    Messages : 143
    Par défaut Récupérer une liste de RadioButton
    Bonjour.

    Les RadioButton me résistent depuis un petit bout de temps maintenant. Je n'arrive pas à comprendre l'erreur.
    Voici ce que me dit le compilateur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error: 'struct _GSList' has no member named ****
    Pourtant j'ai tout calqué exactement sur le tuto sur le site de gtk. Je ne trouve rien sur google non plus, pourtant c'est devenu est un grand ami!

    Bref, si c'est une erreur classique, je vous invite à me communiquer la raison sans plus attendre. Sinon, dites moi et je mets le code.

    Bonne fin d'aprem

    edit : je mets du code qdmm :

    dans la fonction :
    pRadioAge, pRadioSexe et pRadioEcriture sont déclarés en tant que GtkWidget*. J'ai également essayé en les déclarant comme des gpointer mais ca ne fonctionne pas non plus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    GSList *pListAge;
    	GSList *pListSexe;
    	GSList *pListEcriture;
    	const gchar *sLabel;
     
    	//Recuperation des parametres
    	pListAge = gtk_radio_button_get_group(GTK_RADIO_BUTTON(pRadioAge));
    	pListSexe = gtk_radio_button_get_group(GTK_RADIO_BUTTON(pRadioSexe));
    	pListEcriture = gtk_radio_button_get_group(GTK_RADIO_BUTTON(pRadioEcriture));
     
    	while(pListAge)
    	{
    		/* Le bouton est il selectionne */
    		if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pListAge->pRadioAge)))
    		{
     			sLabel = gtk_button_get_label(GTK_BUTTON(pListAge->pRadioAge));
    .............
    l'erreur étant au moment ou j'accède en faisant "->"

  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 : 48
    Localisation : France, Haut Rhin (Alsace)

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Ton erreur est tout à fait normale, tu essaie d'accéder à un membre non existant, la liste étant définie sous cette forme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    typedef struct {
      gpointer data;
      GSList *next;
    } GSList;
    Il faut que tu récupère ton élément, ici pRadioAge avec la fonction g_slist_find ou éventuellement g_slist_nth_data si tu connais l'index de ton élément dans la liste. Il y a d'autres fonctions au pire des cas, il suffit de voir sur la doc de la liste: http://developer.gnome.org/doc/API/2...ked-Lists.html

    Si tu utilises par exemple la fonction g_slist_find, une fois l'élément trouvé, tu peux accéder y tout en castant bien entendu avec l'instruction:
    data étant le membre générique de la liste donc celui qui contient l'adresse mémoire où se situe ton widget !
    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 confirmé Avatar de thibane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2007
    Messages : 143
    Par défaut
    Merci bien Franck, le problème est résolu.
    C'était bien ca, j'avais confondu le data de la structure de la GSList avec le data passé en paramètre.

    Bonne soirée

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/02/2007, 22h00
  2. Réponses: 63
    Dernier message: 06/07/2006, 15h29
  3. [JDOM] Récupérer une liste
    Par maniolo dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 23/05/2006, 11h17
  4. [VB]Récupérer une liste de fichiers
    Par yaya54 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 20/02/2006, 16h03
  5. Réponses: 4
    Dernier message: 24/11/2005, 09h11

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