Bonjour,
J'ai un problème avec du drag and drop sur un qtreeview. Mes données ont un rôle utilisateur contenant un pointeur. J'ai utilisé la macro Q_DECLARE_METATYPE pour pouvoir utiliser un qvariant pour stocker mon pointeur. J'ai redéfini les méthodes itemData() et setItemData() du modèle.
Tout compile sans problème mais dès que je commence de "dragger" un item j'ai une cascade de message d'erreur qui apparaissent "QVariant::save Invalid type to save".
J'ai creusé et le problème semble venir de QMetaType::save() qui essait de streamer le QVariant dans un QDataStream. Je n'ai pas redéfini les opérateurs de flux pour ma classe de données. Le but de passer un pointeur est justement de ne pas avoir à passer l'objet lui-même. Mais étant justement un pointeur, je ne devrais pas avoir d'erreur à ce moment là non ?
Je ne sais plus trop quoi essayer maintenant...
Partager