On Thursday 26 April 2007 3:16 pm, Pradnyesh Sawant wrote: > Hello, > I have a pyqt4 code in which i'm trying the signal/slot mechanism. The > (stripped) code is as follows: > > class D(QtCore.QThread): > def __init__(self): > QtCore.QThread.__init__(self) > tpl = ("Primary", "priSec") > print "tpl:", tpl > self.emit(QtCore.SIGNAL("setLabel"), tpl) > class Gui(QtGui.QDialog): > def __init__(self, parent = None): > QtGui.QDialog.__init__(self, parent) > def setLabel(self, tpl): > print "####tpl:", tpl > print "**********tpl:", str(tpl) > return > if __name__ == "__main__": > app = QtGui.QApplication(sys.argv) > dialog = Gui() > d = D() > QtCore.QObject.connect(d, QtCore.SIGNAL("setLabel"), > dialog.setLabel, QtCore.Qt.QueuedConnection) > sys.exit(dialog.exec_()) > > The output i'm getting is as follows: > > tpl: ('Primary', 'priSec') > ####tpl: (<refcnt 0 at 0xb7caac8c>,) > **********tpl: ((((((((<NULL>,),),),),),),),) > > Can anyone kindly tell me what's happening here? Why is the tuple > ("Primary", "priSec") getting converted to this <NULL> thingy? And > what is this thingy anyways (It looks to be a deeply nested tuple, but > am not sure).
Works for me in that the setLabel() isn't executed at all - but then you are emitting the signal before connecting it. Also my crystal ball isn't telling me what versions you are using or what platform you are on. Phil -- http://mail.python.org/mailman/listinfo/python-list