我正在 Ubuntu 20.04 上编写 Qt5 PySide2 脚本。
我想让窗口的一部分透明,比如一个框架,这样我就可以看到窗口下方的其他窗口程序(如 Firefox、LibreOffice 等)。(如果这是不可能的,那么如果整个窗口都是半透明的就可以了,我已经知道该怎么做,但我还需要在旁边显示一些按钮和其他小部件并能够与它们交互)。我能够做到这一点
Qt.WA_TranslucentBackground
在我的应用程序是透明的(部分(我喜欢)或整个窗口(这是完全可以接受的),无论解决方案如何)的地方,我还需要能够与下面的程序进行交互。我能够做到这一点
Qt.WindowTransparentForInput
当我尝试将这两个功能结合起来时,问题就出现了。在第一种情况下,我得到一个透明窗口,但无法与下面的内容交互。在第二种情况下,我得到一个不透明的窗口,但我可以与下面的内容进行交互,尽管是以盲目的方式。
我看到通过添加Qt.FramelessWindowHint
解决这两个问题,但是我不能再移动窗口,我还想保留标题窗口的装饰,比如 x 用于关闭窗口或 - 用于最小化它。
我的最终目标是在我的程序中在透明的 Qt5 画布上绘制箭头,最终用户可以看到箭头,可以看到下面的网页并可以与该网页进行交互。但不仅是浏览器,我希望残障人士和老年人也能在其他程序中获得视觉辅助。正是通过这种方式,我宁愿只有部分 GUI 是透明的(我已经说过框架),因为用户应该始终看到程序位于其他应用程序之上。
谢谢