I implement QMenu exec in the mousePressEvent of a widget, when click some place, it shows up, but then when clicked at other place, it hide, and it will shows for next click.

My question is that how can it shows everytime when clicked?
Is it impossible? At least it works well done under window and it can be done with NSView.

Thanks for any suggest in advance.