I'm trying to re-implement the MimeData() function on a subclassed QTreeWidget so that when I drag and drop items from it they carry some extra text data I specify with them for adding to external text docs. So far I've found that the MimeType() function gets called when a drag begins using std::cerr, but I haven't been able to find when MimeData() gets called to add the text data so that it gets received on drops. I don't want to reimplement the drag and drop operations to add this extra mimedata as I want to keep the standard selection and drag and drop behaviour of a QTreeWidget along with its standard drag behaviour. Or should I be subclassing QTreeWidgetItem and re-implementing its MimeData() function instead of QTreeWidget's?