我可以使用GTK"分配"功能,但只提供相对于其父级的位置.如何在窗口中找到GTK小部件的绝对位置?
即,如果小部件出现500像素,300像素向下,但嵌套在各种hbox和表中,我们如何发现它在500x300像素位置?
我需要让一个窗口出现在另一个小部件下的确切位置.
谢谢
Geo*_*edy 17
使用该gtk_widget_translate_coordinates()函数从子窗口小部件的坐标映射到包含窗口小部件的顶层坐标.它可能看起来像
GtkWidget *somewidget;
gint wx, wy;
gtk_widget_translate_coordinates(somewidget, gtk_widget_get_toplevel(somewidget), 0, 0, &wx, &wy);
Run Code Online (Sandbox Code Playgroud)
请注意,在许多情况下,强制新窗口的位置是错误的,除非它充当弹出菜单.
小智 6
另一种方法:
gint wx, wy;
gdk_window_get_origin (gtk_widget_get_window (somewidget), &wx, &wy);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7262 次 |
| 最近记录: |