Tonight's PyQt snapshot will have some support for storing a Python object in a QVariant so the following code works... from PyQt4.QtCore import QVariant class Klass(object): pass k = Klass() v = QVariant(k) v1 = QVariant(v) assert v1.toPyObject() is k Let me know if more is needed. Phil