我有多个应用程序,每个应用程序都有一个来自不同技术的GUI。
我需要这样做-
1. Create n layers, one for each application, onto which applications draw.
2. Have a layer manager which can perform operations on each of these layers
(like re sizing, changing opacity etc. ) and then combine them to form a
single layer. 有人能给我一个想法,我应该如何处理这件事?有什么API可以帮助我做到这一点?我真的不知道我应该在谷歌上搜索什么。
实现语言: C++
平台: Linux
另外,我想知道这些需求是否可以以独立于平台的方式实现?
发布于 2012-04-09 13:57:24
如果我没理解错的话,你想要一个简单的窗口管理器。
如果是这样的话,尽量避免使用xlib,而使用QX11EmbedContainer。通过简单地显示/隐藏特定的容器来嵌入窗口和形成层是否相当简单。
这应该是一个独立于平台的解决方案(应该在不同的硬件上工作,但不能在非linux操作系统上工作)。
由于您已经在使用QX11EmbedContainer,并且请求仅使用xlib (使用c++),因此您需要使用XReparentWindowDisplay函数。这在xlib标准的9.1章中有介绍(你可以在here上找到它)。如何使用它应该是非常简单的。
https://stackoverflow.com/questions/10069450
复制相似问题