使用pyside / pyqt更改QPixmap的饱和度

时间:2014-03-26 16:14:19

标签: python pyqt pyside maya pixmap

我想创建一个QLabel的子类,它充当布尔切换按钮。我希望能够分配任何像素图,并在按钮状态为False时使图像去饱和。 我猜这可以用QColor以某种方式完成,但我不确定如何实现这一点。 任何想法?

1 个答案:

答案 0 :(得分:2)

您应该可以使用QGraphicsColorizeEffect执行您想要的操作:

    self.label = QtGui.QLabel(self)
    effect = QtGui.QGraphicsColorizeEffect(self.label)
    effect.setStrength(0.0)
    effect.setColor(QtGui.QColor('silver'))
    self.label.setGraphicsEffect(effect)

根据需要切换效果set the strength

    if self.label.graphicsEffect().strength():
        self.label.graphicsEffect().setStrength(0.0)
    else:
        self.label.graphicsEffect().setStrength(0.5)