I think you're looking for something like an "overlay widget", that is, an invisible surface/layer that you can draw onto, which composes its content straight onto the desktop.
Afaik[*], Qt doesn't support this on any platform but Qtopia Core, but there are several approaches to "hacking" your way around it. The most common approach is to grab the desktop widget, and draw its contents onto your widget's background. Some people combine this with the Qt::WA_NoSystemBackground flag, which prevents the window system from auto-filling the widget background for every paint event (i.e., you're drawing onto what was there before). It's not a perfect solution by far, but it's what many do today.
Using masks doesn't really give you a good result; it both looks bad (mal-aliasing edges), and the performance of a complex mask can be... pretty discouraging.
You and all other Qt developers are waiting for the day that all platforms can support fast top-level alpha composition... When that day comes, Qt is likely to support what you want with a nice easy-to-use interface.
[*] Disclaimer: This isn't my strongest field.
Bookmarks