本文主要是介绍deepin学习-设置自己窗口为最高层级,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
deepin-设置自己窗口为最高层级
- 一、概述
- 1. kwin 中的窗口层级定义
- 2. dde-session-ui 中的消息弹窗
- 3. k-win的调试器
一、概述
窗口协议:wayland
在wayland的窗口下,有时候使用qt开发接口并不能满足我们的要求,就需要看窗管的写法。
setWindowFlags(Qt::WindowStaysOnTopHint | Qt::Tool | Qt::X11BypassWindowManagerHint | Qt::WindowDoesNotAcceptFocus);
1. kwin 中的窗口层级定义
https://github.com/add-uos/deepin-kwin/blob/d16bcb0729550d94fece60637a5358b60f25eae9/src/utils/common.h#L49
值越大这个层级越高
2. dde-session-ui 中的消息弹窗
设置位置
https://github.com/linuxdeepin/dde-session-ui/blob/release/5.4.4/dde-osd/notification/bubble.cpp#L215
windowHandle()->setProperty("_d_dwayland_window-type", "override");
其实只需要设置上面那部分就行了
3. k-win的调试器
使用 d-feet 的位置如下
在 窗口调试器中就能查看窗口的层级了
这篇关于deepin学习-设置自己窗口为最高层级的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!