如何使用QPainter更改QToolButton不透明度?

时间:2013-11-07 10:06:26

标签: qt qpainter

我使用QToolButton并根据某些条件我想要更改QToolButton的不透明度或其特殊图标,无论是使用QPainter还是其他任何方式。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以在QToolButton上使用QGraphicsOpacityEffect,也可以使用不同的不透明度重新绘制图标。使用QPainter::CompositionMode_DestinationIn合成模式来减少alpha。

这是如何使用QPainter执行此操作的一个小示例:

QImage image(":/img/myimage.png");
QPainter p;
p.begin(&image);
p.setCompositionMode(QPainter::CompositionMode_DestinationIn);
p.fillRect(image.rect(), QColor(0, 0, 0, 50));
p.end();