如何将 GtkTreeSelection
设置为特定行,即行号 3
?
我可以将选择设置为GtkTreeIter
,但如何将iter
设置为行号3
?
我在谷歌搜索中没有找到任何有用的东西,所以我还没有尝试任何东西,因为我不知道什么。
我希望您能帮助我并提供有关我的问题的信息!
编辑:
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview));
GtkTreePath *path = gtk_tree_path_new_from_indices(3, -1);
gtk_tree_model_get_iter(model, &iter, path);
gtk_tree_path_free(path);
gtk_tree_selection_select_path(treeview_selection, path);
-> 不工作
最佳答案
您不需要为此使用 GtkTreeIter
,GtkTreePath
API就够了。您在使用路径之前就将其丢弃,这会产生问题。
具体操作方法如下:
GtkTreePath *path = gtk_tree_path_new_from_indices(3, -1);
gtk_tree_selection_select_path(treeview_selection, path);
gtk_tree_path_free(path);
更新:我完全重写了代码以放弃使用GtkTreeIter
,我最初认为您想要一个使用 iter 的解决方案,因为这就是您想要做的.
如果您只想进行选择(例如,不需要 GtKTreeIter 来做其他事情),上面是仅使用 GtkTreePath
的最简单方法>.
当然,在选择调用中使用路径之前,请注意不要破坏路径。
关于c - GtkTreeView 将选择设置为特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26626140/