Во-первых, из вашего кода видно, что вы делаете неправильный путь: вы не должны перегружать dropEvent в своем представлении, а вместо этого dropMimeData в своей модели. Следующий документ объясняет, как сделать dnd с каркасом модель / представление Qt:
http://doc.trolltech.com/latest/model-view-dnd.html
Что касается вашей конкретной проблемы, которая заключается в доступе к internalPointer () отброшенных элементов. Хранение индексов в индексе вашего класса опасно и подвержено ошибкам. То, что вы хотите сделать, это сохранить необходимую информацию в данных MIME. Я не знаю, каков ваш вариант использования, поэтому я не могу угадать, что это за полезные данные - но если вам просто нужно значение internalPointer (и вы можете убедиться, что это значение будет действительным при получении события drop), вы можете просто сохраните его, как вы решите формат. Например, если на ваши данные ссылается уникальный идентификатор где-то (например, идентификатор строки в базе данных), вы можете сохранить эту информацию и использовать в своей модели собственный индексный метод (int rowid), который создает QModelIndex из этой информации. Обычно внутренний указатель индекса устанавливается во время его создания, поэтому это позволит получить всю необходимую информацию.
Если вы сообщите нам, как вы создаете свои индексы, возможно, мы поможем вам в дальнейшем.