[PySide] checking for installedent event filters

Frank Rueter | OHUfx frank at ohufx.com
Sat Jul 21 07:09:54 CEST 2018


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




More information about the PySide mailing list