QWidget每像素半透明

时间:2011-10-13 15:53:39

标签: c++ qt

我正在考虑让QWidget部分转换。

QWidget::setMask可以设置每像素透明度like this,但它是 - 或者:不是transluscent。

QWidget::opacity可以设置全局冲突,但不是每像素。

如何才能充分利用这两个世界并为整个小部件添加每像素Alpha通道? (装饰无所谓。)

2 个答案:

答案 0 :(得分:0)

也许QWidget::setMaks()

QLabel topLevelLabel;
QPixmap pixmap(":/images/tux.png");
topLevelLabel.setPixmap(pixmap);
topLevelLabel.setMask(pixmap.mask());

答案 1 :(得分:0)

看起来QStyle类是您可能正在寻找的,尤其是。将QStyle :: drawItemPixmap;然后使用QWidget :: setStyle()。从来没有用过这个。