首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >区分两个gtktreeview

区分两个gtktreeview
EN

Stack Overflow用户
提问于 2012-02-01 02:32:00
回答 1查看 35关注 0票数 1

我需要知道哪个gtktreeview是从处理程序传递给函数的(一个相同的函数用于几个按钮/树视图组合,因此这比创建一大堆不同的函数效率高得多)

问题是,一旦函数获得了treeview并必须使用它,似乎就没有一种方法来识别它(即使是基于像列数这样简单的东西)。

代码语言:javascript
运行
复制
void
add_button_clicked(GtkTreeView * treeview,GtkButton * widget){
    GtkTreeIter iter;
    GtkListStore * store = GTK_LIST_STORE(gtk_tree_view_get_model(treeview));
    gtk_list_store_append (store, &iter);

    if(items)
        gtk_list_store_set (store, &iter,
                            ITEM_COL_ENABLED, 1,
                            -1);
    else if(locations)
        gtk_list_store_set (store, &iter,
                            LOCATION_COL_NAME, "Broken Shores",
                            LOCATION_COL_ENABLED, 1,
                            -1);
}

我如何区分这两者呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-01 16:57:16

您可以将任意数据附加到任何GObject;这通常会被忽略,但它非常适合在您的情况下识别树视图。创建树视图时,请执行以下操作:

代码语言:javascript
运行
复制
g_object_set_data(treeview, "id", GINT_TO_POINTER(1));

然后在你的回调中:

代码语言:javascript
运行
复制
if(GPOINTER_TO_INT(g_object_get_data(treeview, "id")) == 1) {
    /* This is tree view #1 */
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9084946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档