Source code found in Files.tar.gz
Okay, I do not have much experience with C++ or QT. This issue has been kicking my ass for a long time, so I will give $20 via paypal to the first person who can solve it for me once in for all. I know its not much, but hopefully you will like the challenge. The attached code is largely complete. There are just small issues I am sure someone with more experience would know about right away.
What I am trying to do:
When someone left clicks in a widget then a popup box is shown to the user at the click location. The popup box may vary in size, shape (not always rectangle... Sometimes it is multiple connecting rectangles). The box (a qt webview widget) needs to disappear if anywhere on the screen is clicked much the same way that a context menu does. The size of the widget which contains the popup box must span the space of the screen and have a transparent background.
The Problem
Windows
On windows, it largely works. The issue with windows is a flicker. Click once and it popups up as expected. Click again in a different area and for a split second you can see it in the previous area. There is no reason for it to do this. It is almost as if QT shows a cached version of what the menu used to look like before drawing the new version.
Linux
On linux, it is just a mess. The transparency does not work, so when the popup comes up it completely messes up what is in the background (it does not show a black background instead of transparent.... It shows whatever is behind the widget as it should, but then breaks it apart and randomizes all the pieces). And, probably a sympton of the same issue, the widget never redraws itself so just keeps on adding popup box after popup box. The only way to show the effect is with a picture. In the picture you will see blue boxes. That is the popup. The other stuff are just windows opened behind the application. As you can see, it completely messed up the desktop while it was open.
The source code is in Files.tar.gz
Bookmarks