deepin学习-设置自己窗口为最高层级

deepin-设置自己窗口为最高层级

  • 一、概述
    • [1. kwin 中的窗口层级定义](#1. kwin 中的窗口层级定义)
    • [2. dde-session-ui 中的消息弹窗](#2. dde-session-ui 中的消息弹窗)
    • [3. k-win的调试器](#3. k-win的调试器)

一、概述

窗口协议:wayland

在wayland的窗口下,有时候使用qt开发接口并不能满足我们的要求,就需要看窗管的写法。

cpp 复制代码
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

bash 复制代码
windowHandle()->setProperty("_d_dwayland_window-type", "override");

其实只需要设置上面那部分就行了

3. k-win的调试器

使用 d-feet 的位置如下

在 窗口调试器中就能查看窗口的层级了

相关推荐
Hical_W9 分钟前
告别回调地狱:在 C++ Web 框架中全面拥抱协程
c++·github
炘爚12 分钟前
C++多线程编程:join与detach的致命陷阱
c++
小樱花的樱花1 小时前
4 文件选择对话框 QFileDialog
开发语言·c++·ui
leaves falling1 小时前
深入浅出 C++ STL list:从入门到精通
开发语言·c++
史迪仔01121 小时前
[QML] 交互事件深度解析:鼠标、键盘、拖拽
前端·c++·qt
米啦啦.2 小时前
类继承、子类拷贝构造函数、赋值运算符重载函数、多继承(虚继承)
c++·多继承·类继承·赋值运算符重载
一晌小贪欢2 小时前
PyQt5 开发一个 PDF 批量合并工具
开发语言·qt·pdf
swift192212 小时前
Qt多语言问题 —— 静态成员变量
开发语言·c++·qt
用户805533698032 小时前
现代Qt开发教程(新手篇)1.4——容器
c++·qt
ulias2122 小时前
Linux中的开发工具
linux·运维·服务器·开发语言·c++·windows