我的脚本使用PySide2在Python中使用Qt。该脚本要求透明(可以在窗口后面看到桌面)。
我将Ubuntu与X11,LXQT和Compton结合使用。透明度适用于常规窗口,例如浏览器和文本编辑器,但不适用于我的python脚本。
透明度是通过background: url(bg_with_transparency.png)
设置的,但我也使用RGBA颜色和w.setWindowOpacity(0.5)
进行了测试,但没有成功。
设置了以下标志:(窗口也必须是点击式的)
w.setWindowFlags(w.windowFlags() |
QtCore.Qt.WindowTransparentForInput |
QtCore.Qt.X11BypassWindowManagerHint |
QtCore.Qt.WindowStaysOnTopHint |
QtCore.Qt.FramelessWindowHint)
w.setAttribute(QtCore.Qt.WA_TranslucentBackground)
w.setAttribute(QtCore.Qt.WA_NoSystemBackground, True)
在没有WA_TranslucentBackground
和WA_NoSystemBackground
的情况下,图像显示为黑色背景,而不是透明背景。当我启用这些标志而不进行合成时,窗口显示为纯黑色。启用Compton后,该窗口根本不会显示(没有错误),并且QtX11Extras.QX11Info.isCompositingManagerRunning()
返回false。
如何解决此问题?我更喜欢使用PySide2和Python,但是只要脚本可用于Ubuntu并具有以下功能,我就可以使用其他GUI或编程语言:
谢谢。