I am trying to implement an image processing application that will have multiple image viewers created with a subclass of QGraphicsView. I need to be able to optionally keep all the image viewers in sync with respect to zoom and position as the user clicks on the scrollbars, uses the scroll wheel to zoom, uses menus to fit the view to the window, etc.
Looking at C:\Qt\4.6.1\src\gui\graphicsview\qgraphicsview.cpp it seems like I should be able to do the following: class ImageViewerView(QtGui.QGraphicsView): def __init__(self, scene=None, parent=None): if scene: super(ImageViewerView, self).__init__(scene, parent) else: super(ImageViewerView, self).__init__(parent) def setTransform(self, QTransform, combine=False): super(ImageViewerView, self).setTransform(QTransform, combine) print("transform = %s, %s" % (QTransform, combine)) to keep track of view changes since things like fitInView() calls scale() which in turns calls setTransform(). However, when I run my test application I never seem to see any calls to setTransform()? So... how does one determine when a QGraphicsView's transform has been changed? I didn't see any applicable built-in signals, so I figured I'd just emit my own, but now I can't quite see where to do that. Or maybe there's an entirely different way to track changes to a QGraphicsView? _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt