QTreeView Drag and Drop
I'm kind of confused about the difference between dropEvent on a QWidget and dropMimeData on a QAbstractItemModel. Since it seems that there is no way to get the source widget in dropMimeData, does that mean it's only meant for drag and drop within the same view?
The drop event allows you to handle whatever you would like to drop on a widget.
dropMimeData is targeted to data exchange using mime-types. It's not limited to work within the same view.
You should take a look at the Using drag and drop with item views chapter of Qt's documentation.