[PySide] checking for installedent event filters

Frank Rueter | OHUfx frank at ohufx.com
Mon Jul 23 02:57:20 CEST 2018


Ah yes, good point. That sounds much cleaner, thanks!

Cheers,
frank

On 22/07/18 2:59 AM, David Anes wrote:
> Hi Frank,
>
> I would track the window object on my own on every call to the event 
> filter, and if it's different, then do the removeEventFilter from the 
> old one, installEvent on the new one and update the tracked object.
>
> Cheers,
> David.
>
> 2018-07-21 7:09 GMT+02:00 Frank Rueter | OHUfx <frank at ohufx.com 
> <mailto:frank at ohufx.com>>:
>
>     Hi,
>
>     I have an interesting scenario where I need to install an event
>     filter on the fly from inside another event filter.
>
>     This is because the widget I install the first event filter on
>     changes it's window() inside the main application under certain
>     circumstances (out of my control), and I need to know about the
>     widget.window()'s move event in order for the main event filter to
>     work properly.
>
>     Anyway, to avoid installing the same filter multiple times I
>     currently do this inside the first event filter:
>         def eventFilter(self, obj, event):
>             if event.type() == QtCore.QEvent.UpdateRequest:
>                 # obj.window() may or may not have change at this stage
>                 obj.window().removeEventFilter(self.window_ef)
>                 obj.window().installEventFilter(self.window_ef)
>
>     Is there a better way? I.e. is there a way to check which event
>     filters are already installed?
>
>     Cheers,
>     frank
>
>     _______________________________________________
>     PySide mailing list
>     PySide at qt-project.org <mailto:PySide at qt-project.org>
>     http://lists.qt-project.org/mailman/listinfo/pyside
>     <http://lists.qt-project.org/mailman/listinfo/pyside>
>
>
>
>
> -- 
> David "kraptor" Anes Alcolea
> * @kraptor <http://twitter.com/kraptor>
> * linkedin.com/in/davidanes <http://linkedin.com/in/davidanes>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20180723/ca07bfbd/attachment.html>


More information about the PySide mailing list