GTK4:未通过gtk_tree_view_get_path_at_pos()获得所需的路径

时间:2019-04-13 20:53:10

标签: gtk gtk3 gtktreeview

我有一个应用程序,用户可以在该应用程序中打开树状视图的上下文菜单。要在右键单击后获取当前路径,我使用

gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (treeview), event_button->x, event_button->y, &path, NULL, NULL, NULL),(event_button的类型为 GdkEventButton ,已传递给该函数)

始终可靠地返回正确的路径。现在,我已将应用程序移植到GTK4,在该处不再可以直接访问事件的元素。所以我认为应该采用

来获取坐标

gdk_event_get_coords (event, &x_win, &y_win)(x_win和y_win的类型为 double

然后

gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (treeview), (gint) x_win, (gint) y_win, &path, NULL, NULL, NULL)

但是,在gdk_event_get_coords接收到的坐标的情况下,我总是以树形视图内的以下路径结束(x_win传递了预期的值)。如何检索与GTK3中相同的值?

1 个答案:

答案 0 :(得分:0)

好吧,已经在StackOverflow上发布了此内容,似乎又使我 头脑清醒了。对于后代: 在packet之后使用std::variant会将原始值转换为预期结果。路径现在是正确的路径。