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 :

Tableau de pointeur


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Par défaut Tableau de pointeur
    Bonjour,

    J'ai une question sur la manière d'envoyer plusieurs Widget grâce à un signal connect.
    Je voudrais savoir s'il est possible de faire un tableau de pointeur, c'est à dire un tableau contenant l'adresse de plusieurs widget.

    Par exemple :

    J'ai un bouton valider et une zone d'entré que je souhaite envoyé à ma fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g_signal_connect(GTK_OBJECT(valider), "clicked", G_CALLBACK(mafct), (GtkEntry*)saisie);
    Si certaine condition son vérifiés dans ma fonction, alors je change le label d'autre boutons que sont dans ma fenêtre principale, mais je n'ai pas leur adresse, est-ce qu'il serait possible d'avoir un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int tab[5];
    tab[0]=&widget1;
    tab[1]=&widget2;
    comme ça je peux envoyé tab directement ?
    Merci.

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Ca se déclare pas comme ça, mais sinon oui
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GtkWidget *widgets[5]

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 24
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    GtkWidget *widgets[5]
    widgets[0]=&bouton1
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    GtkWidget *widgets[5]
    widgets[0]=bouton1
    Et dans la fonction qui reçoit widgets je l'a fait comme ça : ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    void mafct(GtkWidget *widgets)
    {
    GtkWidget *bouton1;
    &bouton1 = widgets[0]
     
    }
    sinon j'ai vu qu'il y avait aussi cette méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // Déclaration du tableau de pointeur
    	GPtrArray *args;
     
    	// Création du tableau de pointeur
    	args = g_ptr_array_new();
    	// Remplissage du tableau de pointeurs de pLabel et pEntry
     
    	g_ptr_array_add(args, valider);
    	g_ptr_array_add(args, temps);
    	g_ptr_array_add(args, login);
    tu en penses quoi ?

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Tu devrais réfléchir soigneusement au type des objets que tu manipules. Tu as l'air de savoir manipuler un tableau d'int, là tu as un tableau de GtkWidget*. Avec ton tableau d'int, à certains endroits un int* apparaît, donc avec un tableau de GtkWidget*, il me paraît naturel d'avoir un GtkWidget** à certains endroits. &toto comme membre gauche d'une affectation, ça n'est pas possible.

  5. #5
    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
    Allez, on sent qu'il y a comme un souci de compréhension des pointeurs, c'est l'heure de Binky !
    [ame="http://www.youtube.com/watch?v=6pmWojisM_E"]YouTube- Pointer Fun with Binky[/ame]

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

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

    Informations forums :
    Inscription : Février 2008
    Messages : 2 308
    Billets dans le blog
    5
    Par défaut
    excellent liberforce

Discussions similaires

  1. Tableau de pointeur de fonction
    Par Gryzzly dans le forum C
    Réponses: 7
    Dernier message: 31/12/2005, 10h47
  2. Tableau de pointeurs sur objets
    Par bassim dans le forum C++
    Réponses: 11
    Dernier message: 13/12/2005, 19h45
  3. [GCC] Tableau de pointeurs pour accès multiples en asm
    Par Flo. dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 12/12/2005, 08h47
  4. tableau de pointeurs
    Par seal3 dans le forum C++
    Réponses: 7
    Dernier message: 01/11/2005, 20h51
  5. Tableau de pointeurs de fonctions
    Par Alp dans le forum C++
    Réponses: 7
    Dernier message: 29/10/2005, 13h19

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