根据GTK + 3 reference site:
"行激活"当方法发出信号 当用户双击a时,将调用gtk_tree_view_row_activated() 树形视图行"单击激活"属性设置为 FALSE,或当用户单击一行时 "激活-上单点击"属性设置为TRUE。它也被发射出去了 当选择不可编辑的行并且其中一个键:Space, 按下Shift + Space,Return或Enter。
真的没有办法处理单击和双击吗?例如,单击即可执行操作,双击另一个操作。
答案 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
方法获取)。