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

Reply via email to