QML 支持 Wayland 比 QWidget 好!
· 阅读需 7 分钟
本人正式加入 QML 圣教!!!
最近重拾之前写的音乐播放器项目. 因为一开始是使用 QWidget 开发的. 可是我尊贵的 Arch Linux 使用的是 KDE (Wayland) 桌面系统...
结果就是 窗口的 move 不行, 顶置不行, 可穿透窗口 / 透明窗口 / 无边窗口, 都难搞...
网上全是 CSDN 的赤💩教程, 根本就不行. 外网也只看到了外国老哥在无奈...
GPT / DS 直接上大炮, 写得显然不跨平台还超复杂...
QWidget 无边窗口被放弃了...
最近看番, 歌好听... Linux 没有酷狗... 不习惯其他音乐程序... 正好可以重构我的 ASS Music 播放器~
并且学了 QML 也要找个东西练手.
谁知道, 让我发现了!! QML 居然默认有跨平台的 移动、缩放, 这让无边窗口非常简单. 并且鼠标穿透窗口也非常简单!
1. 通用无边窗口
简直简单到爆炸!
-
root.startSystemMove();
就可以拖动 -
root.startSystemResize(e);
就可以调整大小 (听说 macOS 不支持(?))
他们都是跨平台的! 不论 win / linux, x11 / Wayland 都可以.
直接爽飞了! 个人正式加入 QML 圣教! QWidget 你算老几啊!
2. 鼠标穿透
不过我期望一个鼠标可以穿透, 但是仍然可以接受到鼠标事件的api... 似乎不行, 很难搞. (Wayland)