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 :

Label en boucle.


Sujet :

GTK+ avec C & C++

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Par défaut Label en boucle.
    Bonjour à tous,

    J'utilise la fonction gtk_label_new pour afficher du texte dans ma fenêtre, mais je cherche comment ajouter du texte généré dans une boucle sans faire appel plusieurs fois à la fonction pour afficher un label. En gros j'ai une liste de nom qui s'affiche uniquement grâce à une boucle, je voudrais ajouter chaque nom dans mon label au fur et à mesure et afficher cette liste dans ma fenêtre. Y'a t-il un autre moyen de procéder ?

    Merci pour ceux qui peuvent m'aider, A+

  2. #2
    Membre chevronné
    Inscrit en
    Janvier 2007
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 329
    Par défaut
    Salut,

    Tu peux par exemple dans ta boucle récupérer le texte actuel avec "gtk_label_get_text", ajouter le nouveau nom à la chaîne de caractères obtenue, puis la remettre avec "gtk_label_set_text".

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Par défaut
    Oui ca peut-être une solution mais j'ai finalement opter pour un gtk_combo_box_prepend_text, qui m'ajoute chaque élément dans une belle liste. Le seul problème c'est que ca fait ma liste mais je sais pas comment gérer les signaux lorsque l'user sélectionne un champ. Autre chose, j'essaye de faire une liste de contact en plein milieu de ma fenêtre (style liste de contact de MSN) grâce à la même fonction mais j'ai toujours un message d'erreur qui me dit que gtk window ne peux pas supporter plus de 2 widgets.

  4. #4
    Membre chevronné
    Inscrit en
    Janvier 2007
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 329
    Par défaut
    Pour utiliser plusieurs widgets dans une fenêtre, ajoute d'abord une GtkVBox (ou une GtkHBox).

    Pour connaître le texte de la combobox sélectionné, utilise le signal "changed", récupère l'iter actif avec "gtk_combo_box_get_active_iter", le modèle avec "gtk_combo_box_get_model", puis le texte avec "gtk_tree_model_get_value(model, iter, 0)"


    -

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Par défaut
    Merci pour ton efficacité !


  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Par défaut
    Enfaite je rencontre des problèmes en essayant de suivre tes instructions, voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    g_signal_connect(G_OBJECT(ListOfWifi), "changed", G_CALLBACK(test)(gpointer)ListOfWifi);
     
    //Dés que le signal est lancé, j'appel ma fonction test():
     
    gtk_combo_box_get_active_iter(GTK_COMBO_BOX(Data), &Iter);
    TreeModel = gtk_combo_box_get_model(GTK_COMBO_BOX(Data));
    gtk_tree_model_get_value(TreeModel, &Iter, 0, WifiName);
    Il n'ya pas d'erreur de compilation ou de la part de GTK+, mais le programme crash direct dés que je clique sur un élément de ma liste, ca ce passe dans la fonction test().

    Merci d'avance,

  7. #7
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Par défaut
    J'ajoute que je pense que c'est un problème d'allocation de mémoire, vu que la fonction gtk_tree_model_get_value() va seter ma variable GValue *WifiName, mais je ne sais pas comment faire pour bien allouer de la mémoire pour le type GValue.

  8. #8
    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 devrias plutôt utiliser gtk_tree_model_get qui t'évite de devoir passer par les GValue Sinon http://library.gnome.org/devel/gobje...ic-values.html te donne un exemple sur comment manipuler les GValue

  9. #9
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 148
    Par défaut
    Si tu peux donner plus de précision sur la fonction gtk_tree_model_get, car je ne la trouve pas dans la doc GTK+

    Merci.

  10. #10
    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

Discussions similaires

  1. [Débutant] Afficher valeurs dans label via boucle
    Par propi dans le forum VB.NET
    Réponses: 5
    Dernier message: 23/12/2014, 16h20
  2. Remplissage de Label par boucle
    Par Korleone dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 14/11/2009, 16h12
  3. Cacher des labels avec boucle Next-For
    Par hotsauce91 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/05/2009, 11h01
  4. [FLASH 8] Changer label bouton dynamiquement dans une boucle
    Par Malau dans le forum ActionScript 1 & ActionScript 2
    Réponses: 5
    Dernier message: 03/05/2006, 16h55
  5. [VBA-E]Boucle mise a jour label
    Par alex_95 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/03/2006, 14h32

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