Case 1:
qApp->installEventFilter(a);
a->installEventFilter(b);
那么当有Event到来的时候,是a::eventFilter 还是 b::eventFilter 先收到Event呢?
答案是只有a::eventFilter会收到event
Case 2:
qApp->installEventFilter(a);
qApp->installEventFilter(b);
那么当有Event到来的时候,是a::eventFilter 还是 b::eventFilter 先收到Event呢?
答案是a::eventFilter会收先手到event,a如果不做处理,b::eventFilter会收到。
Case 3:
myObject->installEventFilter(a);
a->installEventFilter(b);
那么当有Event到来的时候,是a::eventFilter 还是 b::eventFilter 先收到Event呢?
答案是只有a::eventFilter会收到event
Case4:
myObject->installEventFilter(a);
myObject->installEventFilter(b);
那么当有Event到来的时候,是a::eventFilter 还是 b::eventFilter 先收到Event呢?
答案是b::eventFilter会收先手到event,ab如果不做处理,ba::eventFilter才会收到。
qApp->installEventFilter(a);
a->installEventFilter(b);
那么当有Event到来的时候,是a::eventFilter 还是 b::eventFilter 先收到Event呢?
答案是只有a::eventFilter会收到event
Case 2:
qApp->installEventFilter(a);
qApp->installEventFilter(b);
那么当有Event到来的时候,是a::eventFilter 还是 b::eventFilter 先收到Event呢?
答案是a::eventFilter会收先手到event,a如果不做处理,b::eventFilter会收到。
Case 3:
myObject->installEventFilter(a);
a->installEventFilter(b);
那么当有Event到来的时候,是a::eventFilter 还是 b::eventFilter 先收到Event呢?
答案是只有a::eventFilter会收到event
Case4:
myObject->installEventFilter(a);
myObject->installEventFilter(b);
那么当有Event到来的时候,是a::eventFilter 还是 b::eventFilter 先收到Event呢?
答案是b::eventFilter会收先手到event,ab如果不做处理,ba::eventFilter才会收到。
本文详细探讨了Qt中事件过滤器的安装与触发顺序。通过四个案例分析,揭示了不同情况下事件过滤器的调用规律,即全局与对象级过滤器的交互逻辑及其先后顺序。
546

被折叠的 条评论
为什么被折叠?



