Why does PySide implicitely create object members from class members for Signals?

They are not copies. If you check the type of those, you’ll see that the class attribute is PySide.QtCore.Signal and the instance attribute is PySide.QtCore.SignalInstance. print “type(obj1.sig): {}”.format(type(obj1.sig)) print “type(obj2.sig): {}”.format(type(obj2.sig)) print “type(Klass.sig): {}”.format(type(Klass.sig)) # type(obj1.sig): <type ‘PySide.QtCore.SignalInstance’> # type(obj2.sig): <type ‘PySide.QtCore.SignalInstance’> # type(Klass.sig): <type ‘PySide.QtCore.Signal’> This is necessary because of the way Qt defines … Read more