[PyQt] Syntax for connecting to QGraphicsScene.changed signal?
    TP 
    wingusr at gmail.com
       
    Thu Oct 14 23:37:02 BST 2010
    
    
  
QGraphicsScene's changed signal is documented as:
   void changed (const QList<QRectF>&)
The "Qt Utility classes and their Python equivalents" section of
"Chapter 10 Qt Class Hierarchy" of GUI Programming with Python: QT
Edition (from http://www.commandprompt.com/community/pyqt/x3738) says:
"You can always use a Python list wherever a QList is needed".
But defining a signal as:
   sceneChanged = QtCore.pyqtSignal(list)
and then doing:
   self._scene.changed.connect(self.sceneChanged)
results in the following exception:
   "TypeError: connect() failed between changed(QList<QRectF>) and
sceneChanged()"
As a workaround, I was able to do the following:
    @QtCore.pyqtSlot(list)
    def changed (self, rects):
        self.sceneChanged.emit(rects)
With the following connect() statement:
    self._scene.changed.connect(self.changed)
But how can I directly connect my signal to QGraphicScene's changed
signal without going through an intermediate python method?
    
    
More information about the PyQt
mailing list