[Interest] Semi transparent background for contextual menu

Etienne Sandré-Chardonnal etienne.sandre at m4x.org
Thu Mar 16 22:38:54 CET 2017


I forgot, in order to detect when the window lost "focus" (ie is no longer
the active window), you need to catch QFocusEvent, and check if reason() is
Qt::ActiveWindowFocusReason

Cheers,

Etienne

2017-03-16 22:34 GMT+01:00 Etienne Sandré-Chardonnal <etienne.sandre at m4x.org
>:

> Hi,
>
> That's because a context menu is a system level window, not a widget.
> And what you call focus is in fact not focus, but active window. See
> QApplication::activeWindow
>
> You create such a window by creating a QWidget with no parent and a
> WindowFlag:
>
> QWidget(0, Qt::Popup);
>
> 2017-03-16 15:56 GMT+01:00 Nicolas Krieger <nicolas.krieger-medecom29@
> orange.fr>:
>
>> Hi,
>>
>> I try to have a contextual menu with a semi-transparent background. I
>> didnt manage to to it with QMenu, so I decided to use a custom widget.
>>
>> I have no problem to have a widget with a semi-transparent background, I
>> just changed the alpha of the background color.
>>
>> My problem is that I want this widget to behave like a contextual menu,
>> that is to say, I want it to be closed when focus is lost. But this is lot
>> as soon as I clic on a children-widget of this menu. I don't know how to do.
>>
>> Nicolas Krieger
>>
>> _______________________________________________
>> Interest mailing list
>> Interest at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20170316/d31151e7/attachment.html>


More information about the Interest mailing list