gpt4 book ai didi

c - 区分两个gtktreeviews

转载 作者:太空宇宙 更新时间:2023-11-04 04:55:34 25 4
gpt4 key购买 nike

我需要知道哪个 gtktreeview 从处理程序传递给函数(一个相同的函数用于多个按钮/ TreeView 组合,所以这比制作大量不同的函数更有效)

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

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);
}

如何区分两者?

最佳答案

您可以将任意数据附加到任何 GObject;这经常被忽视,但它非常适合识别您案例中的 TreeView 。创建 TreeView 时,请执行以下操作:

g_object_set_data(treeview, "id", GINT_TO_POINTER(1));

然后在你的回调中:

if(GPOINTER_TO_INT(g_object_get_data(treeview, "id")) == 1) {
/* This is tree view #1 */
}

关于c - 区分两个gtktreeviews,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9084946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com