2013-02-09 151 views

回答

12

喜欢的东西:

GtkWidget *widget = ...; 
Window w = gdk_x11_drawable_get_xid(gtk_widget_get_window(widget)); 

这是C,因为GTK +是一个C API,但它也是C++,所以应该没有问题。

而且别忘了#include <gdk/gdkx.h>

+0

是的,我应该提到C,因为gtk在C中,而C++是向后兼容的。什么是“窗口”类型? – user1873947 2013-02-09 13:10:15

+3

'Window'是本机XWindows窗口的类型。它被定义为'typedef XID Window',并且XID本身是一个整数类型,用于标识大多数X资源(参见'/ usr/include/X11/X.h')。 – rodrigo 2013-02-09 13:12:42

+0

谢谢。如果我包含wxwidgets和gdk/gdkx.h,这个类型是否会被编译器知道? – user1873947 2013-02-09 13:14:14