XWindow与GtkWindow的转换

简介: XWindow与GtkWindow的转换

在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。


目录
相关文章
|
存储 SQL Cloud Native
深入了解云原生数据库CockroachDB的概念与实践
作为一种全球领先的分布式SQL数据库,CockroachDB以其高可用性、强一致性和灵活性等特点备受关注。本文将深入探讨CockroachDB的概念、设计思想以及实践应用,并结合实例演示其在云原生环境下的优越表现。
|
监控 安全 Linux
Qt 文件类实战:解锁文件操作的无限可能
Qt 文件类实战:解锁文件操作的无限可能
698 1
|
JavaScript
Vue 子传父 组件传参 defineEmits
Vue 子传父 组件传参 defineEmits
230 0
|
Ubuntu 安全 网络协议
Python 中寻找列表最大值位置的方法
本文介绍了Python中找列表最大值及其位置的三种方法:1) 使用内置`max()`和`index()`函数;2) 通过循环遍历;3) 利用`enumerate()`函数和生成器表达式。每种方法均附有示例代码,其中`enumerate()`方法在保证效率的同时代码更简洁。
|
监控 Ubuntu Linux
使用`dbus-monitor`命令深入了解DBus通信
`dbus-monitor`是Linux下用于观察DBus消息的命令行工具,有助于理解和调试应用程序间的通信。安装该工具可通过发行版的包管理器,如`apt-get`、`dnf`或`pacman`。基本用法是运行`dbus-monitor`监控系统总线,使用`--session`监控会话总线,配合过滤器如`sender`、`interface`等精细化查看特定消息。当面临DBus相关问题时,此工具能辅助排查和诊断。
|
JavaScript 前端开发
如何在Vue2.X/Vue3.X项目引入jQuery,以及增加jQuery.easing扩展?让你的动画效果更加丝滑!
如何在Vue 2或Vue 3项目中引入jQuery及其动画扩展库jQuery.easing,以实现更丰富的动画效果。
300 0
如何在Vue2.X/Vue3.X项目引入jQuery,以及增加jQuery.easing扩展?让你的动画效果更加丝滑!
|
前端开发 JavaScript 开发者
雪碧图:图片合并的艺术!
雪碧图:图片合并的艺术!
|
人工智能 弹性计算 数据安全/隐私保护
如何在阿里云快速启动Stable Diffusion轻松玩转AI绘画
本文介绍如何如何在阿里云快速启动Stable Diffusion服务开启AI绘画
如何在阿里云快速启动Stable Diffusion轻松玩转AI绘画
|
JavaScript
vue element plus Border 边框
vue element plus Border 边框
352 0