gpt4 book ai didi

c++ - Qt - 在 Linux DE 上将窗口提升到当前桌面/工作区

转载 作者:太空宇宙 更新时间:2023-11-04 11:58:42 26 4
gpt4 key购买 nike

先决条件:我的 Qt 程序 (MainWindow) 在 FIRST Linux 桌面上运行,而我在 SECOND 上运行。

程序调用这样一段代码:

mainWindow->raise();

会发生什么?我的桌面环境切换到第一个桌面并在我的应用程序上显示主窗口。

我想要发生什么?我的应用程序的主窗口已移动到当前(第二)桌面并显示在此处。

Qt 是否可行?如何实现?

最佳答案

Qt 不支持完整的 Linux DE/WM 环境。虚拟桌面就像不是真正的虚拟桌面。

这是一个复杂的问题。我会尝试解释(英语不好)。

Linux X 窗口系统上的桌面和工作区:https://www.circuitousroot.com/artifice/programming/useful/fvwm/viewports/index.html

Qt 使用 xcb:https://xcb.freedesktop.org/这里我们有 xcb 连接:http://doc.qt.io/qt-5/qx11info.html#connection如果没有其他库,这是很难的:仅限 xcb、ICCCM、EWMH……我的应用程序有这个问题,但后来。我只对纯 C 进行了肮脏的测试,而且它有效。

您可以尝试使用(或查看如何实现,我在这里观看)KWindowSystem:https://api.kde.org/frameworks/kwindowsystem/html/classKWindowSystem.html (它没有 KDE 依赖!!!)但是这个类不具备所有 EWMH 命令的所有功能。

关于c++ - Qt - 在 Linux DE 上将窗口提升到当前桌面/工作区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53307173/

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