QT的所有事件都是继承于 QEvent
QEvent有两个成员函数accept()和ignore()
可以看到这两个函数就是设置m_accept,m_accept初始化的时候被默认设置为true
当事件发生时,Qt会将该事件也就是QEvent的子类发送给当前的焦点控件,之后事件是否要依次向父控件依次传递,是根据m_accept的值来决定的,如果m_accept的值为true,则不往下传递,否则会传递给父类,默认m_accept为ture所以默认是不往下传递的,需要往下传递则可以调ignore()将m_accept设为flase,则事件会传递给父类。
以上窗口MyPushButton继承于QPushButton,并重写了mousePressEvent事件,在实现里面调用了ignore,则点击MyPushButton的时候父窗口也能收到mousePressEvent事件;点击PushButton则父窗口收不到mousePressEvent事件