PySide2 не определяет композитинг (X11 и Compton) - нет прозрачности - PullRequest
0 голосов
/ 02 февраля 2019

Мой скрипт использует 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)
  • Возможность пролистывания
  • Всегда сверху

Спасибо.

...