通过Treeview显示Liststore,不能改变要显示的Liststore

开发基于GTK+或QT的应用程序
回复
fengtom
帖子: 16
注册时间: 2011-02-26 15:46
送出感谢: 0
接收感谢: 0

通过Treeview显示Liststore,不能改变要显示的Liststore

#1

帖子 fengtom » 2011-02-26 16:00

我设定一个Liststore,里面有17个Member,每个Member有3个属性分别为“id”“name”“age”。
{
GtkWidget *treeView;
GtkTreeModel *treemodel;

GtkTreeSelection *selection;
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;

treemodel = Treeview_database_create_model();
gtk_tree_view_set_model((GtkTreeView*)treeView, treemodel);
selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(treeView));

renderer = gtk_cell_renderer_text_new();
column = gtk_tree_view_column_new_with_attributes(“id”, renderer, "text", 0, NULL);
gtk_tree_view_append_column(GTK_TREE_VIEW (treeView), column);

renderer = gtk_cell_renderer_text_new();
column = gtk_tree_view_column_new_with_attributes(“name”, renderer, "text", 1, NULL);
gtk_tree_view_append_column(GTK_TREE_VIEW (treeView), column);

renderer = gtk_cell_renderer_text_new();
column = gtk_tree_view_column_new_with_attributes(“age”, renderer, "text", 2, NULL);
gtk_tree_view_append_column(GTK_TREE_VIEW (treeView), column);

// g_object_unref (G_OBJECT (treemodel));
}

但我发现,当第一次运行时可以正常显示这17个Member。当我再次执行的时候,却提示:
(a:4239): Gtk-CRITICAL **: gtk_list_store_get_value: assertion `VALID_ITER (iter, list_store)' failed

(a:4239): GLib-GObject-WARNING **: /build/buildd/glib2.0-2.24.1/gobject/gtype.c:4177: type id `0' is invalid

(a:4239): GLib-GObject-WARNING **: can't peek value table for type `<invalid>' which is not currently referenced
段错误

我在Google查到好像是在说有关指针什么错误。也不知道符不符合我这种情况。
不知道大家有没有遇到类似的情况啊?
fengtom
帖子: 16
注册时间: 2011-02-26 15:46
送出感谢: 0
接收感谢: 0

Re: 通过Treeview显示Liststore,不能改变要显示的Liststore

#2

帖子 fengtom » 2011-03-01 15:29

Close
已经找到问题所在,但是不知道为什么。下回有时间再研究吧。
回复

回到 “GTK+和QT”