Re: Transparency over video
My guess is, that the QLabel hWnd is given to DirectShow, which renders the image directly on it.
This means, that the QLabel it self, is not aware of the operation, and its paintEvent() is not part of it -thus, the transparent widget above it, does not know anything about the image rendered on the QLabel, and can't use that information to draw its self on the image, but just on the QLabel.
Re: Transparency over video
Thus there is no way to create that effect?
Re: Transparency over video
You would have to render the video into Qt's backingstore. When the transparent widget is rendered over the video the backingstore contents (containing the label and the transparent widget but not the video) overpaints the video you have drawn earlier. You can try rendering the video using direct show to a buffer and then composing that buffer with the rest of content using Qt's methods. You can also play with the PaintOnScreen flag.