Мой скрипт использует PySide2 для использования Qt в Python.Скрипт требует прозрачности (виден рабочий стол за окном).
Я использую 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 и имеет следующие функции:
- Прозрачность (фон PNG с rgba)
- Возможность пролистывания
- Всегда сверху
Спасибо.