当公开新的GtkTreeView
时,会发现它处于没有显示任何光标的状态。一旦聚焦,光标就在那里,即使焦点丢失也是如此。我正在寻找一种方法来根据需要摆脱光标。
GTK +参考声称,只要gtk_tree_view_set_cursor
参数对GtkTreePath*
无效,函数GtkTreeView*
就会完成工作。术语“无效”可以用许多方式解释。我尝试了很多可能性,结果介于段错之间,根本没有效果。因此我想问:
Q1:甚至可以在GtkTreeView上取消设置游标吗?
Q2:如果是这样,请你提供一个简单的例子,最好用普通的C?
答案 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的另一个小部件上来解决你的问题。