C++ 从GtkWidget获取X11窗口句柄
该函数在Windows上返回HWND,在linux上返回GtkWidget。我需要得到X11窗口句柄,它不是小部件本身。如何从该小部件获取句柄?我需要C++代码,因为它是WxWiWDGES的主要语言。 < P>C++ 从GtkWidget获取X11窗口句柄,c++,linux,gtk,wxwidgets,window-handles,C++,Linux,Gtk,Wxwidgets,Window Handles,该函数在Windows上返回HWND,在linux上返回GtkWidget。我需要得到X11窗口句柄,它不是小部件本身。如何从该小部件获取句柄?我需要C++代码,因为它是WxWiWDGES的主要语言。 < P> GtkWidget *widget = ...; Window w = gdk_x11_drawable_get_xid(gtk_widget_get_window(widget)); 是C,因为GTK+是一个C API,但也是C++,所以应该没有问题。 别忘了把#包括在内
GtkWidget *widget = ...;
Window w = gdk_x11_drawable_get_xid(gtk_widget_get_window(widget));
是C,因为GTK+是一个C API,但也是C++,所以应该没有问题。
别忘了把#包括在内
Window
是本机XWindows窗口的类型。定义为typedef XID窗口代码>,而XID本身是一个完整的类型,用于标识大多数X资源(请参见/usr/include/X11/X.h
)。谢谢。如果我包含wxwidgets和gdk/gdkx.h,编译器会知道这种类型吗?是的,
已经包含了它需要的任何X11头。另一个问题是您是否必须包含任何Gtk头,例如Gtk3中的
@Noitidart有等效的gdk\u x11\u window\u get\u xid()
。