gtk树视图。处理单击和双击

时间:2014-04-05 17:26:20

标签: signals gtk3

根据GTK + 3 reference site

  

"行激活"当方法发出信号   当用户双击a时,将调用gtk_tree_view_row_activated()   树形视图行"单击激活"属性设置为   FALSE,或当用户单击一行时   "激活-上单点击"属性设置为TRUE。它也被发射出去了   当选择不可编辑的行并且其中一个键:Space,   按下Shift + Space,Return或Enter。

真的没有办法处理单击和双击吗?例如,单击即可执行操作,双击另一个操作。

2 个答案:

答案 0 :(得分:2)

你可以尝试使用父信号,在这种情况下是GtkWidget的信号" button-press-event",GDK_BUTTON_PRESS执行某事并且GDK_2BUTTON_PRESS执行其他事件。 小小提示:你已经获取了所需行的GtkTreeViewSelection。

答案 1 :(得分:1)

这可能是在luciomrx回答下的评论,但是很长。在我的情况下button-press-event没有用,因为它的处理程序在选择甚至执行之前被触发。所以我只是切换到button-release-event并从那里使用gtk_tree_selection_get_selected检查选择(仅适用于“单一”和“浏览”选择模式)。但在我的情况下,我希望在双击时显示一些窗口,并在用户选择一行时(即当行突出显示时)更改描述。我认为这是常见的情况。上述实现的缺点是用户可以使用键盘更改选择,因此我的标签保持不变。所以我使用GtkTreeSelection“已更改”信号(使用gtk_tree_view_get_selection方法获取)。