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 :

Gtk Tree view


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 60
    Par défaut Gtk Tree view
    salut
    j'ai essayé de faire copier le continu d un fichier déja cree dans une liste mais rien ne s affiche voici mon code:

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    #include <stdlib.h>
    #include <stdio.h>
    #include <gtk/gtk.h> 
     
    enum {
        TEXT_COLUMN,
        TOGGLE_COLUMN,
        N_COLUMN
    };
     
    int main(int argc, char **argv)
    {
        GtkWidget *pWindow;
        GtkWidget *pListView;
        GtkWidget *pScrollbar;
        GtkListStore *pListStore;
        GtkTreeViewColumn *pColumn;
        GtkCellRenderer *pCellRenderer;
        gchar tt[1024];
        gint i;
     
        gtk_init(&argc, &argv);
     
        /* Creation de la fenetre principale */
        pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL); 
        gtk_window_set_default_size(GTK_WINDOW(pWindow), 320, 200); 
        gtk_window_set_title(GTK_WINDOW(pWindow), "GtkTreeView et GtkListStore");
        g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(gtk_main_quit), NULL);
     
        /* Creation du modele */
           pListStore= gtk_list_store_new(N_COLUMN, G_TYPE_STRING);
            FILE* file= fopen("/root/ident.txt", "r");
            if(file == NULL)
      {
         GtkWidget *dialog;
         dialog = gtk_message_dialog_new(GTK_WINDOW(pWindow), GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "Impossible d'ouvrir le fichier : \n%s", "identificateur");
         gtk_dialog_run(GTK_DIALOG(dialog));
         gtk_widget_destroy(dialog);
     
      }
            while(fgets(tt, 1024, file))
      {    
            GtkTreeIter iter;
            gtk_list_store_append(pListStore,&iter);
            gtk_list_store_set(pListStore,&iter,TEXT_COLUMN,tt,-1);
      }
    fclose (file);
            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("",pCellRenderer,"texte",1,NULL); 
            gtk_tree_view_append_column(GTK_TREE_VIEW(pListView),pColumn);
     
        /* Ajout de la vue a la fenetre */
        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(pWindow), pScrollbar);
     
        gtk_widget_show_all(pWindow);
     
        gtk_main(); 
     
        return EXIT_SUCCESS; 
    }
    Veuilez me dire quelle est ma faute merci d avance

  2. #2
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 60
    Par défaut GTK TREE VIEW
    je veut signaler que la fenetre et la liste s affichent mais cette dernière est vide
    voici les erreurs signalées lors de l execution
    (tree:9778): Gtk-WARNING **: gtkliststore.c:304: Invalid type (null) passed to gtk_list_store_new

    (tree:9778): Gtk-CRITICAL **: file gtkliststore.c: line 1320 (gtk_list_store_append): assertion `GTK_IS_LIST_STORE (list_store)' failed

    (tree:9778): Gtk-CRITICAL **: file gtkliststore.c: line 923 (gtk_list_store_set): assertion `GTK_IS_LIST_STORE (list_store)' failed

    (tree:9778): Gtk-CRITICAL **: file gtkliststore.c: line 1320 (gtk_list_store_append): assertion `GTK_IS_LIST_STORE (list_store)' failed

    (tree:9778): Gtk-CRITICAL **: file gtkliststore.c: line 923 (gtk_list_store_set): assertion `GTK_IS_LIST_STORE (list_store)' failed

    (tree:9778): Gtk-CRITICAL **: file gtkliststore.c: line 1320 (gtk_list_store_append): assertion `GTK_IS_LIST_STORE (list_store)' failed

    (tree:9778): Gtk-CRITICAL **: file gtkliststore.c: line 923 (gtk_list_store_set): assertion `GTK_IS_LIST_STORE (list_store)' failed

  3. #3
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 60
    Par défaut Correction GTK TEXT VIEW
    j ai trouvé ma faute c est dans cette ligne
    pColumn= gtk_tree_view_column_new_with_attributes("",pCellRenderer,"texte",1,NULL);

    elle doit etre

    pColumn= gtk_tree_view_column_new_with_attributes("",pCellRenderer,"text",0,NULL);

    j espere que mon programme soit utile pour quelques uns.

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/04/2009, 10h37
  2. Option GTK tree View
    Par labrute dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 10/05/2008, 21h22
  3. [tree view] arbre dynamic
    Par pmartin8 dans le forum Servlets/JSP
    Réponses: 26
    Dernier message: 15/09/2006, 02h22
  4. Tree view dynamique
    Par oravelon dans le forum ASP
    Réponses: 1
    Dernier message: 08/08/2005, 17h00
  5. Tree View avec XML et XSL
    Par Drooxy dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 22/04/2003, 10h21

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