Hi.
As written in the
autodesk.com post, the way you write a UI like this is to create a transparent floating window, one without borders and title bar, positioned on top of the viewport. Then, it's the OS doing the alpha compositing, and everything works. This is how the hotbox and marking menus are implemented.
What is not working is creating a qt widget that is a transparent child of the viewport, for the technical reasons stated in that article. While that may seem like an issue, it's actually not what you would really want. You usually do not want to have a menu-like widget to be clipped by the viewport rectangle if the mouse was near the borders. You want that menu to appear around the mouse position, even if some of it would appear on top, for example, of the Attribute Editor, and you also want to get the mouse messages even when the mouse is not inside the viewport. The only way to do all of that that is to make it a separate always-on-top floating window. It will also redraw faster.