我有一个应用程序,用户可以在该应用程序中打开树状视图的上下文菜单。要在右键单击后获取当前路径,我使用
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中相同的值?
答案 0 :(得分:0)
好吧,已经在StackOverflow上发布了此内容,似乎又使我 头脑清醒了。对于后代:
在packet
之后使用std::variant
会将原始值转换为预期结果。路径现在是正确的路径。