Меня интересует где лучше переопределять события мыши, клавиатуры - в view или в scene?
И в чем вообще отличие отлавливания событий в QGraphicsView и QGraphicsScene?
Это как тебе будет удобнее.
В любом случае всё события приходят сначала на QGraphicsView::viewport(), фильтруются в QGraphicsView
и уже после в случае QGraphicsView::isInteractive() попадают в QGraphicsScene, который доставляет события непосредственно элементам сцены.
Т.к. все события интерактивные, то, имхо, оптимизировать здесь особо нечего.
PS. Но не стоит забывать про то, что одна сцена может обслуживаться несколькими вью. И вот в этом случае нужно самому определять поведение для каждого вью.