gpt4 book ai didi

c++ - X11层管理器

转载 作者:太空宇宙 更新时间:2023-11-04 12:10:30 25 4
gpt4 key购买 nike

我有多个应用程序,每个应用程序都有一个来自不同技术的 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

另外我想知道这些要求是否可以以独立于平台的方式实现?

最佳答案

如果我对你的问题的理解正确,你需要某种简单的窗口管理器。

如果是这样,尽量避免使用xlib,而使用QX11EmbedContainer .嵌入窗口并通过简单地显示/隐藏特定容器来形成层是否相当简单。

这应该是一个独立于平台的解决方案(应该可以在不同的硬件上工作,但不能在非 Linux 操作系统上工作)。


由于您已经在使用 QX11EmbedContainer,并且请求仅使用 xlib(使用 c++),因此您需要使用 XReparentWindowDisplay 函数。这包含在 xlib 标准的第 9.1 章中(您可以查看 here )。如何使用它应该非常简单。

关于c++ - X11层管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10069450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com