Here's my QGraphicsView code:

Qt Code:
  1. def wheelEvent(self, event):
  2. if QApplication.keyboardModifiers() & (Qt.ControlModifier | Qt.ShiftModifier):
  3. self.setTransformationAnchor(self.AnchorUnderMouse)
  4. #Scale the view / do the zoom
  5. scaleFactor = 1.08
  6.  
  7. if event.angleDelta().y() > 0:
  8. #Zoom in
  9. self.scale(scaleFactor, scaleFactor)
  10. else:
  11. self.scale(1.0/scaleFactor, 1.0/scaleFactor)
  12.  
  13. #Assumes scaleX = scaleY
  14. def scale(self, scaleX, scaleY):
  15. self.scene().viewScale(scaleX)
  16. QGraphicsView.scale(self, scaleX, scaleY)
To copy to clipboard, switch view to plain text mode 

viewScale() of scene() in turn calls viewScale of SnapGridGraphicsItem:

Qt Code:
  1. def viewScale(self, scale):
  2. #self.pen.setWidth(1.0 / scale)
  3. self.pen = QPen(self.color, 1.0 / scale)
To copy to clipboard, switch view to plain text mode 

I've also tried multiplying 1.0 / scale x pen.width() and the same result happens: nothing - lines are still scaled with zoom action. Please help! :|

I also already have ItemIgnoresGeometricTransformations enabled for SnapGridGraphicsItem...