在C中将列表添加到gtk_tree_view

发布于 2024-10-15 10:40:34 字数 1464 浏览 9 评论 0原文

伙计们,

我要尝试制作一个与我制作的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

十级心震 2024-10-22 10:40:34

好吧,我现在发现了错误

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

,只是因为我的列有两列,因此我需要

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

其中 0 代表第一列,1 代表下一列,依此类推 -_-'

well, i've found the fault now

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

just because my columns are two ,thus i need to

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

which 0 represent first column and 1 represent next column, and so on -_-'

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文