2011-02-01 59 views
1

人,添加列表gtk_tree_view用C

我也會試着做一個小功能,有一些待辦事項與Gtk_tree_view,我已經做出, 錯誤響應,例如像這樣:

(main:8026): Gtk-CRITICAL **: IA__gtk_tree_view_get_model: assertion `GTK_IS_TREE_VIEW (tree_view)' failed 

(main:8026): Gtk-CRITICAL **: IA__gtk_list_store_append: assertion `GTK_IS_LIST_STORE (list_store)' failed 

(main:8026): Gtk-CRITICAL **: IA__gtk_list_store_set_valist: assertion `GTK_IS_LIST_STORE (list_store)' failed 
^C 

和源,在這裏你去:

void addlist(bahan *unit, const gchar *str) 
    { 
     GtkListStore *store; 
     GtkTreeIter iter; // penyambung store_append and store_set 

     store = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(unit->treeview_aktifitas))); 

     gtk_list_store_append(store, &iter); // need unary &, coz iter aint define like a pointer 
     gtk_list_store_set(store, &iter, 1, str, -1); 
    } 

爲你想通,「單元」的結構應該是這樣的:

typedef struct 
    { 
     GtkWidget *window; 
     GtkWidget *notebook; 
     GtkWidget *start; 
     GtkWidget *verbose; 
     GtkWidget *settings; 
     GtkWidget *about; 
     GtkWidget *statusbar; 
     GtkWidget *treeview_aktifitas; 
     guint statusbar_id; 
    } bahan; 

連接本:

unit->treeview_aktifitas = GTK_WIDGET(gtk_builder_get_object(main,"treeview1")); 
在現實情況下

,即時通訊使用的「林間空地3」,和對格萊德文件兩列,如何在gtk_list_store_set設置?

非常感謝任何進一步的幫助:)

+0

也許它對你有幫助 - http:// s centric.net/tutorial/treeview-tutorial.html(gtk + treeview教程) – 0xAX 2011-02-01 16:33:55

回答

2

很好,我已經找到了故障,現在

gtk_list_store_set(store, &iter, 1, str, -1); 

只是因爲我的專欄是兩個,所以我需要

gtk_list_store_set(store, &iter, 0,"aku", 1, "tes", -1); 

這0代表第一列,1代表下一列,等等。-_-'