一、描述
不透明度效果使源具有不透明度。该效果对于使源半透明非常有用,类似于淡入/淡出序列。可以使用setOpacity()函数修改不透明度。
二、属性成员
1、opacity : qreal。此属性保存不透明度。该值应在0.0到1.0的范围内,其中0.0是完全透明的,而1.0是完全不透明的。默认情况下,不透明度为0.7。
2、opacityMask : QBrush。此属性保留不透明蒙版。不透明度蒙版允许您将不透明度应用于元素的各个部分。默认情况下没有不透明蒙版。
三、成员函数
1、void setOpacity(qreal opacity);
2、void setOpacityMask(const QBrush &mask);
使用蒙板和不使用蒙板的效果对比:
QLinearGradient alphaGradient(rect.topLeft(), rect.bottomLeft());
alphaGradient.setColorAt(0.0, Qt::transparent);
alphaGradient.setColorAt(0.5, Qt::black);
alphaGradient.setColorAt(1.0, Qt::transparent);
QGraphicsOpacityEffect *effect = new QGraphicsOpacityEffect;
effect->setOpacityMask(alphaGradient);