跳到主要内容
左猫娘右猫娘

QML 支持 Wayland 比 QWidget 好!

· 阅读需 7 分钟
Heng_Xin
ここから先は一方通行だ!

本人正式加入 QML 圣教!!!

最近重拾之前写的音乐播放器项目. 因为一开始是使用 QWidget 开发的. 可是我尊贵的 Arch Linux 使用的是 KDE (Wayland) 桌面系统...

结果就是 窗口的 move 不行, 顶置不行, 可穿透窗口 / 透明窗口 / 无边窗口, 都难搞...

网上全是 CSDN 的赤💩教程, 根本就不行. 外网也只看到了外国老哥在无奈...

GPT / DS 直接上大炮, 写得显然不跨平台还超复杂...

QWidget 无边窗口被放弃了...


Tip

本人正式加入 QML 圣教!!!

要是 QML 改叫 QTML 就更好了 (类似于 js -> ts, 此次的 T 是 type)

最近看番, 歌好听... Linux 没有酷狗... 不习惯其他音乐程序... 正好可以重构我的 ASS Music 播放器~

并且学了 QML 也要找个东西练手.

谁知道, 让我发现了!! QML 居然默认有跨平台的 移动、缩放, 这让无边窗口非常简单. 并且鼠标穿透窗口也非常简单!

1. 通用无边窗口

简直简单到爆炸!

  • root.startSystemMove(); 就可以拖动

  • root.startSystemResize(e); 就可以调整大小 (听说 macOS 不支持(?))

他们都是跨平台的! 不论 win / linux, x11 / Wayland 都可以.

直接爽飞了! 个人正式加入 QML 圣教! QWidget 你算老几啊!

2. 鼠标穿透

不过我期望一个鼠标可以穿透, 但是仍然可以接受到鼠标事件的api... 似乎不行, 很难搞. (Wayland)

请作者喝奶茶:
Alipay IconQR Code
Alipay IconQR Code
本文遵循 CC CC 4.0 BY-SA 版权协议, 转载请标明出处
Loading Comments...