begin process at 2012 05 29 07:40:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

GUI

 > 

Liste gtk


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Liste gtk

jeudi 19 octobre 2006 à 10:56:51 | Liste gtk

iex

Bonjour,

j'ai créer une liste en gtk elle s'affiche bien mais le probleme c'est que je ne sait pas comment faire pour qu'elle se "rafraichisse".
j'ai essayé tout un tas de trucs mais rien n'as marché. j'ai essayé d'appeler la fonction liste dans une otre fonction en plus d ici pour "rafraichir" la liste mais ca ne marche pas
merci de bien voulir m'aider.

voici le code

 mw->pVBox1 = gtk_vbox_new(FALSE, 0);
 gtk_container_add(GTK_CONTAINER(mw->MainWin), mw->pVBox1)

 mw->pFrame = gtk_frame_new("Liste");
 gtk_box_pack_start(GTK_BOX(mw->pHBox1), mw->pFrame, TRUE, TRUE, 0);

 mw->pVBox1Frame = gtk_vbox_new(TRUE, 0);
 gtk_container_add(GTK_CONTAINER(mw->pFrame), mw->pVBox1Frame);

liste(mw);

///////////////////

void         list(MainWindow *mw)
{
    GtkWidget *pListView;
    GtkWidget *pScrollbar;
    GtkListStore *pListStore;
    GtkTreeViewColumn *pColumn;
    GtkCellRenderer *pCellRenderer;

    pListStore = gtk_list_store_new(N_COLUMN, G_TYPE_STRING, G_TYPE_BOOLEAN);

rempli_liste(:::::);


    pListView = gtk_tree_view_new_with_model(GTK_TREE_MODEL(pListStore));

  
    pCellRenderer = gtk_cell_renderer_text_new();
    pColumn = gtk_tree_view_column_new_with_attributes("Titre",
        pCellRenderer,
        "text", TEXT_COLUMN,
        NULL);


    gtk_tree_view_append_column(GTK_TREE_VIEW(pListView), pColumn);


    pCellRenderer = gtk_cell_renderer_toggle_new();
    pColumn = gtk_tree_view_column_new_with_attributes("CheckBox",
        pCellRenderer,        "active", TOGGLE_COLUMN,        NULL);

    gtk_tree_view_append_column(GTK_TREE_VIEW(pListView), pColumn);

    pScrollbar = gtk_scrolled_window_new(NULL, NULL);
    gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(pScrollbar),
        GTK_POLICY_AUTOMATIC,        GTK_POLICY_AUTOMATIC);
    gtk_container_add(GTK_CONTAINER(pScrollbar), pListView);
    gtk_container_add(GTK_CONTAINER(mw->pVBox1Frame), pScrollbar);
}

jeudi 19 octobre 2006 à 13:13:49 | Re : Liste gtk

luhtor

C'est la merde les liste en gtk. Moi ce que je faisais au début, c'est je vidais la liste entièrement et je la recontruisais.
Donc je maintiens une liste (std::list) en mémoire a jour et des que je la modifie, j'appelle une fonction refresh:

  "GtkListStore * client_liststore;" fait partie du la classe à laquelle la fonction appartient.

    gtk_list_store_clear(this->client_liststore);
   
    GtkTreeIter iter;
  
    for (std::list<TES_DONNEES>::const_iterator _it = TA_LISTE.begin()
          _it !=  TA_LISTE.end(); _it++)
          {
            gtk_list_store_append(this->client_liststore, &iter);
            gtk_list_store_set(this->client_liststore, &iter, 0, _it->Get_name().c_str(), 1, _it->Get_ip().c_str(), -1);
          }

Donc ca, c'est la méthode brutale. Si tes listes sont pas trop grande ca va. Le petit défaut est que si tu avais une ligne de sélectionner, le fait de refresh la déselectionne.
jeudi 19 octobre 2006 à 13:51:06 | Re : Liste gtk

iex

hum ok ca devrais aller mes listes sont limitées a 10 ou 20 eléments.

mais ton code il est en C++ !
t'orais pas la "traduction" en C
merci.


Un autre truc, comment fait on pour obtenir (la valeur, le numero ou un truc comme ca) de la ligne selectionné.
re-merci
jeudi 19 octobre 2006 à 22:17:25 | Re : Liste gtk

luhtor

En C, ya rien qui change, juste tu utilises des listes liées de la glib ou artisanale.

Et puis ca dépend des données de ton tableau, dans mon cas c'était des STRING:
_it->Get_name().c_str() <-> _it->Get_ip().c_str() de type (char*)

Pour récupérer les données : tu trouveras tout la dessus:
http://developer.gnome.org/doc/API/2.0/gtk/

Juste a fouiller entre listview, liststore, treeview, etc ...


vendredi 20 octobre 2006 à 09:58:59 | Re : Liste gtk

iex

ok merci
je vais essayer


Cette discussion est classée dans : liste, gtk, tree, container, mw


Répondre à ce message

Sujets en rapport avec ce message

Dupliquer un GtkCombo [ par Moogle ] Dans un programme en GTK+ 1.2, j'ai dans une fenetre 12 GtkCombo, qui doivent tous afficher la meme grosse liste de 256 éléments.Quand je crèe la fene Evenement sur une liste en gtk pour du c [ par bordeaux ] Bonjour, J'aimerais crée une application graphique en gtk, permettant à l'utilisateur de faire son choix depuis une liste déroulante.  Et générer un recuperer selection gtktreeviewcolumn [ par k4mik4zi ] Bonjour J'ai un gtktreeviewcolumn Jaimerai recuperer la chaine de caracteres selectionnee par l'utilisateur Je vous montre mon code: <tabl GTK+ message d'erreur!! [ par Iced_Soul ] quand je met fixed[1] = gtk_fixed_new(); gtk_container_add(GTK_CONTAINER(pVBox), fixed[1]); gtk_widget_show(fixed[1]); pFrame executer un fichier hors de GTK [ par psyko_flex ] voila , je recherche comment je pourrais faire pour a partir de GTK executer un fichier HLP. !!!en vous remerciant d'avance [Urgent] Fonction à liste chainée [ par zalpa ] Bon voila, je suis un etudiant en 1ere année Informatique appliqu&#233 QT3 / GTK [ par piwee ] Salut, j'aimerai développer des applis en C (Linux/Windows) avec interface graphique. Mais avant de me lancer dans l'apprentissage, j'aimerai savoir Problème avec les nombres aléatoires [ par nisaloncaje ] Bonjour, j'ai un petit problème : dans un programme , pour générer un nombre aléatoire je fais ceci : int n,max=50,liste[15];for(i=0;isrand(time(0));  probléme sur utilisation mémoire...assez urgent!SVP je galére [ par psyko_flex ] bonjour,je voudrais savoir si j'utilise un widget plusieurs fois en le redéclarant si ca peut poser des problémes de mémoire.voir l'ex suivant svp...:


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,624 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales