One possible way could be an event filter.
E.g. implement the eventFilter method in your main window and install it as an even filter on the QApplication object.
In the filter function check for show and hide events. if the object passed to the filter function inherits from QDialog, show/hide the "cover" widget accordingly.
I guess you want to support Windows XP, which doesn't have that kind of effect, right?
Cheers,
_
Bookmarks