Is there any valid reason for implementing custom drag'n'drop? QTreeWidget supports drag'n'drop out of the box: Using Drag and Drop with Item Views - Using Convenience Views