I think it's a bug.
if you want to make a widget transparent (partially or not), you have to define yourself the regions that have to be transparent. You can do such by calling setMask, which takes a QBitmap :
First, you set the use of a mask :
setUseMask(true);
Then, you create a QBitmap that has exaclty the size of your widget, and you fill the regions that are to be transparent with the value color0
At last, you apply the mask
setMask(myBitmap).
Here is an example that displays a pixmap on a transparent background :
----------------------------------------------------------
TransparentPixmap::TransparentPixmap(const QPixmap &image, QWidget *parent, const char *name, WFlags f)
: QWidget(parent, name, f)
{
setAutoMask(true);
resize(image.size());
setPaletteBackgroundPixmap(image);
QBitmap bm(image.createHeuristicMask());
setMask(bm);
}
TransparentPixmap::~TransparentPixmap()
{
}
--------------------------------------------------
image.createHeuristicMask() returns a mask which is suitable for pixmaps (in particulary, it has exactly the size of the pixmap). If the pixmap supports transparency (for example a .png pixmap), then it returns a mask where transperent pixels of the pixmap are replaced by color0 (a special color that means transparent) in the QBitmap.
Sometimes, this doesn't work.
Good Luck.