C GtkTreeView将选择设置为特定行

C GtkTreeView将选择设置为特定行,c,treeview,gtk,selection,C,Treeview,Gtk,Selection,如何将GtkTreeSelection设置为特定行,设置为行号3 我可以将选择设置为GtkTreeIter,但是如何将iter设置为行号3 我在谷歌搜索中没有找到任何有用的东西,所以我没有尝试任何东西,因为我不知道是什么 我希望你能帮助我,给我关于我的问题的信息 编辑: ->不工作您不需要使用GtkTreeIter为此,API就足够了。在使用之前,您正在将路径丢弃,这会造成问题 以下是如何做到这一点: GtkTreePath *path = gtk_tree_path_new_from_indi

如何将
GtkTreeSelection
设置为特定行,设置为行号
3

我可以将选择设置为
GtkTreeIter
,但是如何将
iter
设置为行号
3

我在谷歌搜索中没有找到任何有用的东西,所以我没有尝试任何东西,因为我不知道是什么

我希望你能帮助我,给我关于我的问题的信息

编辑:


->不工作

您不需要使用
GtkTreeIter
为此,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
的最简单方法


当然,在select调用中使用路径之前,请注意不要破坏路径。

请参阅问题处的“我的编辑”。如果目标是将选择设置为索引事先已知的行,为什么要通过iter?只有在调用
gtk_tree_selection_select_path
,对吗?@user4815162342 right?之后,OP在问题中的代码才可以工作。我重写以简化。谢谢。释放路径后,您正在使用它。
GtkTreePath *path = gtk_tree_path_new_from_indices(3, -1);
gtk_tree_selection_select_path(treeview_selection, path);
gtk_tree_path_free(path);