Это прослушивало меня уже более двух дней, поэтому я подумал, что должен спросить. Я использую Qt 4.5.3 (скомпилированный с VC2008) на Win7.
У меня есть MyGraphicsView (наследует QGraphicsView) и MyFilter (наследует классы QObject).
Когда я устанавливаю объект MyFilter в качестве фильтра событий в MyGraphicsView, события Mouse доставляются в MyFilter после их доставки в MyGraphicsView, тогда как события Key доставляются в MyFilter до их доставки в MyGraphicsView.
Во втором случае я устанавливаю объект MyFilter как фильтр событий в MyGraphicsView- > viewport() (который является стандартным QGLWidget), события Mouse доставляются в MyFilter до того, как они будут доставлены в MyGraphicsView, тогда как ключевые события будут доставлены только для MyGraphicsView.
Предполагается, что события должны доставляться фильтрам событий до их доставки на фактический объект, так почему это происходит? Что я должен сделать, чтобы обеспечить этот порядок?
Спасибо заранее. С наилучшими пожеланиями.