关于QGraphicsView通过eventFilter无法过滤鼠标事件

通过给QGraphicsView安装事件过滤对象,想过滤掉鼠标事件,但QGraphicsView的鼠标事件仍然被执行了

原因:QGraphicsView and eventFilter

因为QGraphicsView比较特殊,它继承自QAbstractScrollArea,而QAbstractScrollArea内部又套了一层viewportEvent,所以要给viewport对象安装事件过滤才行,否则会被viewport对象跑在前面(它里面应该是调用了父类QGraphicsView的鼠标事件函数)


版权声明:本文为Kelvin_Yan原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。