borntonetwork wrote: > I am trying to implement QTCore.QSignalMapper using PyQT. I finally got > to a point where I don't receive any compile or runtime error messages, > but I also do not see the final slot function fire off. Here is a > snippet of the code: > > self.signalMapper = QtCore.QSignalMapper(window) > # Use qsignalmapper to use of one slot function for multiple > # widgets. The map() function sends the slot an extra param > # that identifies the sender. > for idx in range(1, maxIngredients+1): > wName = 'chkProductIngredientsDelete_'+str(idx) > w = self.__dict__[wName] > self.app.connect(w, QtCore.SIGNAL("stateChanged(int)"), > self.signalMapper, > QtCore.SLOT("self.signalMapper.map"))
You need to pass the C++ signature to the SLOT() function. I believe you want the form that does not accept any arguments: self.app.connect(w, QtCore.SIGNAL("stateChanged(int)"), self.signalMapper, QtCore.SLOT("map()")) Alternatively, you can pass the slot directly to the function: self.app.connect(w, QtCore.SIGNAL("stateChanged(int)"), self.signalMapper.map) PyQt accepts Python methods as slots, without requiring that they be wrapped in calls to SLOT(). David -- http://mail.python.org/mailman/listinfo/python-list