XWindow与GtkWindow的转换

倖福魔咒の 提交于 2020-01-22 10:06:25

在gdk/gdkx.h中可以看到定义了GdkWindow与Xlib中结构的变量访问,如GDK_WINDOW_XID得到Window(xid),

Display可以通过XOpenDisplay(NULL)或者GDK_WINDOW_XDISPLAY。

得到这些后,想更变一下窗体控件的属性就简单了。

例如:

GtkWidget *win = NULL;

win = gtk_window_new (Gtk_WINDOW_TOPLEVEL);

Display *display = XOpenDisplay(NULL);

XResizeWindow (display, GDK_WINDOW_XID (win->window), 200, 200);  //更改win的size

XFlush (display); //即时刷新

可以使用如下接口:

GtkWindow *win;

GdkWindow *window = gtk_widget_get_window(win);

const Window xwin = GDK_WINDOW_XID(window);

Display * const display=GDK_WINDOW_XDISPLAY(window);

来获取Window 的id以及Display。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!