GtkTreeView取消设置光标

时间:2012-07-29 21:07:41

标签: c gtk gtktreeview

当公开新的GtkTreeView时,会发现它处于没有显示任何光标的状态。一旦聚焦,光标就在那里,即使焦点丢失也是如此。我正在寻找一种方法来根据需要摆脱光标。

GTK +参考声称,只要gtk_tree_view_set_cursor参数对GtkTreePath*无效,函数GtkTreeView*就会完成工作。术语“无效”可以用许多方式解释。我尝试了很多可能性,结果介于段错之间,根本没有效果。因此我想问:

  

Q1:甚至可以在GtkTreeView上取消设置游标吗?

     

Q2:如果是这样,请你提供一个简单的例子,最好用普通的C?

2 个答案:

答案 0 :(得分:3)

记录:

我尝试使用gtk_tree_view_set_cursor()无效。

无论如何,您可以使用GtkTreeView取消设置gtk_tree_view_get_selection()的光标,然后在生成的gtk_tree_selection_unselect_all()上调用GtkTreeSelection

答案 1 :(得分:0)

我不知道我是否理解你的问题,但我相信我可以提供帮助。

首先,documentation说:

  

如果路径对于模型无效,则当前光标(如果有)将是   未设置,函数将返回而不会失败。

因此,无效一词将指代GtkTreeModel的无效路径。

无论如何,它还说“这个函数通常后跟gtk_widget_grab_focus(tree_view),以便为小部件提供键盘焦点”。我不知道你是否已经尝试过,因为你说“即使焦点丢失了”,但是可能会把注意力集中在gtk_widget_grab_focus的另一个小部件上来解决你的问题。