我可以使用GTK“分配”函数,但它只给出相对于其父对象的位置。如何找到GTK小部件在窗口中的绝对位置?
也就是说,如果小部件长500像素,下300像素,但嵌套在各种hboxes和table中,我们如何确定它位于500x300像素的位置?
我需要让一个窗口出现在另一个小部件下的确切位置。
谢谢
发布于 2010-01-19 05:13:03
使用gtk_widget_translate_coordinates()函数从子小部件的坐标映射到包含该小部件的顶层坐标。它可能看起来像这样
GtkWidget *somewidget;
gint wx, wy;
gtk_widget_translate_coordinates(somewidget, gtk_widget_get_toplevel(somewidget), 0, 0, &wx, &wy);请注意,在许多情况下,强制新窗口的位置是错误的,除非它充当弹出菜单。
发布于 2010-11-11 01:14:38
另一种方法:
gint wx, wy;
gdk_window_get_origin (gtk_widget_get_window (somewidget), &wx, &wy);https://stackoverflow.com/questions/2088962
复制相似问题