Hi,
I need to filter mouse moving on a QGraphicsView in PyQt4. I created a filter and install it to a QGraphicsView instance, but desired event seems not to be captured.

Following a simple example showing how no mouse moving is filtered by eventFilter() function:
Qt Code:
  1. import sys
  2.  
  3. from PyQt4 import QtCore, QtGui
  4.  
  5. class Filter(QtCore.QObject):
  6. def eventFilter(self, obj, event):
  7. print event.type()
  8. return False
  9.  
  10. class MainWin(QtGui.QMainWindow):
  11.  
  12. def __init__(self, parent=None, flags=QtCore.Qt.Widget):
  13. QtGui.QMainWindow.__init__(self, parent, flags)
  14.  
  15. self.scene = QtGui.QGraphicsScene(self)
  16. self.graphicsview = QtGui.QGraphicsView(self.scene, self)
  17. self.graphicsview.setMouseTracking(True)
  18. self.filter = Filter(self.graphicsview)
  19. self.graphicsview.installEventFilter(self.filter)
  20. self.setCentralWidget(self.graphicsview)
  21.  
  22. def main():
  23. app = QtGui.QApplication(sys.argv)
  24. mainwin = MainWin()
  25. mainwin.show()
  26. sys.exit(app.exec_())
  27.  
  28. if __name__ == '__main__':
  29. main()
To copy to clipboard, switch view to plain text mode 

Thanks to all ones that answer after reading this very complex code