gpt4 book ai didi

c - 如何获取激活行的数据 GTK+ C

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

激活“row-activated”信号后,如何获取选中行的数据?我正在使用 C 语言。

void on_treeview1_row_activated()
{
//I want to get the data here
}

最佳答案

row-activated 的回调原型(prototype)信号应该是:

void user_function (GtkTreeView       *tree_view,
GtkTreePath *path,
GtkTreeViewColumn *column,
gpointer user_data)

这意味着您将拥有对 TreeView (和相关模型/商店)和选定路径的引用。这应该足以从激活的行中提取数据。

假设您的模型/商店的第一列是一些整数作为 ID,第二列是字符串:

| ID |  TEXT      |
+----+------------+
| 12 | John Doe |
...
| 35 | Whatever |
+----+------------|

所以你的回调函数应该是这样的:

void on_treeview1_row_activated(GtkTreeView       *treeview, 
GtkTreePath *path,
GtkTreeViewColumn *column,
gpointer userdata) {

gint int_data;
gchar *str_data;

GtkTreeIter iter;
GtkTreeModel *model = gtk_tree_view_get_model(treeview);

if (gtk_tree_model_get_iter(model, &iter, path)) {
gtk_tree_model_get (GTK_LIST_STORE(model), &iter, 0, &int_data, 1, &str_data, -1));
// Here the variables int_data and str_data should be filled with
// relevant data
}
}

关于c - 如何获取激活行的数据 GTK+ C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45532565/

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