GTK4:gtk_tree_view_get_path_at_pos()无法获得所需的路径

问题描述 投票:0回答:1

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

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中相同的值?

gtk gtk3 gtktreeview
1个回答
0
投票

好吧,在StackOverflow中发布这个似乎再次清除了我的头脑。后人:在gtk_tree_view_convert_widget_to_bin_window_coords之后使用gdk_event_get_coords确实将原始值转换为预期结果。路径现在是正确的。

© www.soinside.com 2019 - 2024. All rights reserved.