code: def requireCleanup(self):
          
          try:
              tree.destroyed.connect(self.destroy, QtCore.Qt.UniqueConnection)
          except StandardError:
              pass
docs: If you intend to use any signal/slot connections on this QTreeWidgetItem, you will need
          to call the requireCleanup method and implement manual disconnections in the destroy method.
  
          QTreeWidgetItem's do not inherit from QObject, and as such do not utilize the memory cleanup
          associated with QObject connections.