Форум сайта python.su
0
Есть долгоиграющий процесс, реализованный в виде класса-менеджера Analyst. Результатом работы является объект другого класса RasterMap (если это важно, реализован в другом файле).
class Analyst(QObject): rangeChanged = pyqtSignal(int) updateProgress = pyqtSignal() processFinished = pyqtSignal(RasterMap) def __init__(self, first, second): QObject.__init__(self) ... def createMap(self): ... self.rangeChanged.emit(rows) for i in xrange(rows): # do something self.updateProgress.emit() data = RasterMap() data.create(...) self.processFinished.emit(data)
... def createMap(self): analyst = Analyst(self.inputs["initial"], self.inputs["final"]) analyst.processFinished.connect(self.mapCreated()) def changeMapDone(self, raster): # do something with raster
analyst.processFinished.connect(self.mapCreated())В чем может быть проблема? Сигналы, передающие стандартные типы работают, а вот передавать объекты собственных классов не получается.
TypeError: mapCreated() takes exactly 2 arguments (1 given)
Офлайн
6
Уверены, что после self.mapCreated должны быть скобки?
Офлайн