Python 如何在PyQt>;中使图标背景透明;?

Python 如何在PyQt>;中使图标背景透明;?,python,pyqt,icons,Python,Pyqt,Icons,我使用白色背景的菜单图标。当我启动我的程序时,我在灰色菜单项上看到这个白色背景。看起来不太好。如何使白色背景透明,使其看不到白色?您应该有一个透明的图像开始,其中除菜单外的所有内容都是空像素(png格式) pyqt应用程序无法区分背景和前景 您可以尝试在线删除图像背景尝试以下方法: self.setStyleSheet(“背景色:透明;) self.setFlags(Qt.WA_半透明背景) 您还可以选择设置遮罩 只需根据您想要的大小和颜色进行调整。这个答案对当前的问题没有帮助,但它是为那些将

我使用白色背景的菜单图标。当我启动我的程序时,我在灰色菜单项上看到这个白色背景。看起来不太好。如何使白色背景透明,使其看不到白色?

您应该有一个透明的图像开始,其中除菜单外的所有内容都是空像素(
png
格式)

pyqt应用程序无法区分背景和前景

您可以尝试在线删除图像背景

尝试以下方法:

  • self.setStyleSheet(“背景色:透明;)
  • self.setFlags(Qt.WA_半透明背景)
  • 您还可以选择设置遮罩


  • 只需根据您想要的大小和颜色进行调整。

    这个答案对当前的问题没有帮助,但它是为那些将来想办法设置透明图标的人准备的

    所以我想去掉默认的windows图标,但我也没有应用程序的任何徽标,所以我认为使图标透明可以去掉windows图标

    pixmap=QtGui.QPixmap(255255)
    像素贴图填充(QtGui.QColor(0,0,0,0))
    MainWindow.setWindowIcon(QtGui.QIcon(pixmap))
    
    谢谢,但我不完全理解。我将QIcon的图标加载到QAction中,然后添加到菜单中。我应该应用setStyleSheet做什么,等等?总之,我们有:1-样式表可以应用于任何具有CSS语法的小部件类型中,因此您可以对其进行个性化设置。2-作为某种属性应用于对象的标志您可以覆盖默认值,只需查看API。3-例如,最后一种情况是从零开始创建一个pixmap设置其大小并使其透明,这意味着您正在创建自己的透明pixmap,之后它将应用于您正在使用的QObject,作为遮罩使其透明,并使其其余部分透明其中的ngs将保持纯色。
    def make_transparent(self):
    
        self.setStyleSheet("background: transparent;")
    
        mMask = QPixmap(self.width(), self.height())
        mMask.fill(Qt.transparent)
    
        p = QPainter()
        p.begin(mMask)
        p.setPen(Qt.red)
        p.setBrush(QBrush(Qt.red))
    
        p.drawRect(QRect(0, 0, 1000, 1000))
    
        p.end()
    
        self.setMask(mMask.mask())