I'm a bit confused. First you pass a rectangle to the QGraphicsRectItem constructor but then you reimplement boundingRect() and return a different rectangle. What's the point of doing that? The two rectangles should be identical.

About your problem - try changing the aspect parameter of the fitInView call.