How about making your widget a direct QObject subclass and implementing everything in event filters? This would reduce the need of having to subclass your widgets. Of course it might mean other problems instead...

And yes, by 3rd party I mean "no way to modify source code". Above mentioned approach would (or at least could) solve the problem.

BTW. I still think you do it in the wrong layer, nothing changed in that regard