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 的位置如下

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

相关推荐
乌鸦乌鸦你的小虎牙2 小时前
qt 5.12.8 配置报错(交叉编译环境)
开发语言·数据库·qt
70asunflower2 小时前
CUDA编程指南基础知识点总结(5)
c++·人工智能·cuda
森G3 小时前
8、交叉编译x264----------Opencv移植Arm
qt
笨笨马甲4 小时前
Qt QSS使用指南
开发语言·qt
mjhcsp5 小时前
C++剪枝解析
c++·剪枝
wregjru5 小时前
【网络】5.HTTP 协议详解与实现
c++
Ralph_Y5 小时前
正则表达式
开发语言·c++·正则表达式
钓鱼的肝5 小时前
[GESP-4.2503.T2]二阶矩阵
c++·算法·矩阵
小小unicorn5 小时前
[微服务即时通讯系统]文件存储子服务的实现与测试
c++·redis·微服务·云原生·架构
笨笨马甲5 小时前
Qt的界面渲染体系
开发语言·qt