在C中将列表添加到gtk_tree_view
伙计们,
我要尝试制作一个与我制作的 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 上设置?
非常感谢任何进一步的帮助:)
folks,
im gonna tryin to make a little function which has something todo with the Gtk_tree_view that i've made,
the error response such as like this :
(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
and the source, here you go :
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);
}
as you've figured , the structure of 'unit' was supposed like this :
typedef struct
{
GtkWidget *window;
GtkWidget *notebook;
GtkWidget *start;
GtkWidget *verbose;
GtkWidget *settings;
GtkWidget *about;
GtkWidget *statusbar;
GtkWidget *treeview_aktifitas;
guint statusbar_id;
} bahan;
and connected by this :
unit->treeview_aktifitas = GTK_WIDGET(gtk_builder_get_object(main,"treeview1"));
in the real case, im using 'glade 3', and have two columns on glade file, how to set on gtk_list_store_set ?
very appreciate any further help :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,我现在发现了错误
,只是因为我的列有两列,因此我需要
其中 0 代表第一列,1 代表下一列,依此类推 -_-'
well, i've found the fault now
just because my columns are two ,thus i need to
which 0 represent first column and 1 represent next column, and so on -_-'