Python 3.x PySide2如何制作透明的小部件背景

Python 3.x PySide2如何制作透明的小部件背景,python-3.x,linux,pyside2,xorg,Python 3.x,Linux,Pyside2,Xorg,我正在写一个应该有透明背景的小部件。 不幸的是,我得到了一个黑色的背景,而不是透明的 我使用了如下属性: WA_半透明背景 WA_NoSystemBackground 以及: Qt.FramelessWindowHint Qt.x11ByPassWindowManagerInt 我的系统使用基于x.org的KWinwindows管理器 下面是我的小部件的一个快速示例: 从PySide2.qtwidts导入* 从PySide2.QtCore导入* 从PySide2.QtGui导入* 导入系

我正在写一个应该有透明背景的小部件。 不幸的是,我得到了一个黑色的背景,而不是透明的

我使用了如下属性:

  • WA_半透明背景
  • WA_NoSystemBackground
以及:

  • Qt.FramelessWindowHint
  • Qt.x11ByPassWindowManagerInt
我的系统使用基于x.org的KWinwindows管理器

下面是我的小部件的一个快速示例:

从PySide2.qtwidts导入*
从PySide2.QtCore导入*
从PySide2.QtGui导入*
导入系统
从psutil导入cpu\u百分比
类MyWidget(QWidget):
def uuu init uuu(self,parent=None):
super()。\uuuu init\uuuuu()
自我调整大小(600600)
self.dark=“#3B3A44”
self.light=“#4a4953”
self.color=“#75ECB5”
self.setAttribute(Qt.WA_半透明背景,真)
self.setAttribute(Qt.WA_NoSystemBackground,True)
self.setStyleSheet(“背景:透明;”)
#self.setAttribute(QtCore.Qt.WA_painton-screen)
self.setWindowFlags(Qt.FramelessWindowHint|
Qt.x11ByPassWindowManagerInt|
Qt.工具)
def paintEvent(自身,事件:QPaintEvent):
“女仆”
油漆工=油漆工(自身)
painter.setRenderInt(QPainter.AntiAlias)
base_rect=self.rect().已调整(20,20,-20,-20)
画师.镶嵌(QBrush(QColor(self.dark)))
油漆工抽屉(底座)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
app=QApplication(sys.argv)
w=MyWidget()
w、 移动(800300)
w、 show()
app.exec()
检查KDE系统设置中是否启用了半透明。 您还可以安装其他工具,如
xcompmgr
,并在启动应用程序之前执行它。

检查KDE系统设置中是否启用了半透明功能。 您还可以安装其他工具,如
xcompmgr
,并在启动应用程序之前执行它