Hi, since you asked any ideas... In my app I have had to re-invent drag&drop for some items (because I want to drag QGraphicsItems in scene while having all kinds of effects on the items they are connected while keeping the main event loop running etc. ) and learned a habit to give up when I didn’t find Qt-way of doing things and instead to choose the simplest pythonesque way.
So in your case at this point, I would have 1. 'start drag' store the dragged data, just the main payload, not the Q-item containing them, in some stable object (main window), just as ’main.dragged_object’. 2. when drag gets dropped to those problem recipients, in drop event, manually put the data from main window into recipient, without bothering with the Q-representations of the data. In my app I have a multipurpose controller-object and ctrl.dragged is used to store the non-qt data of whatever is being dragged. It was my solution to struggle with QStandardItems and such. In conclusion, since we are doing things with Python + Qt, I think we are justified to skip Qt when there is an easier (or more readable) pythonesque way of doing things. Jukka > Frank Rueter | OHUfx <fr...@ohufx.com> kirjoitti 19.9.2016 kello 9.56: > > Anybody? > I'm still struggling with this. I went back to using a QStandardItem for a > while which solved the dag&drop behaviour, but now I really need to use a > custom item that inherits QStandardItem which breaks the drop behaviour again. > > Any ideas or guidance would be greatly appreciated. > > Cheers, > frank > > > On 16/08/16 7:26 PM, Frank Rueter | OHUfx wrote: >> Hi, >> >> I am trying to get drag&drop to work between two QListViews using a custom >> item. >> I can't find the info I need online other than this document which helped a >> little bit but now I'm stuck. >> >> Drag&drop from one QListView to another works fine when I use a >> QStandardItem to hold my data, but when I use a custom item I run into >> trouble, because the receiving model/view creates a QStandardItem when the >> incoming custom items are dropped. >> >> Ideally I could tell the receiving model to use my custom item as the >> default item and otherwise just do it's thing, but I suppose it won't be >> that easy?! >> I have played around with the receiving model's dropMimeData() and >> insertRows() methods but can't work out how to read the incoming data to >> then insert a custom item into the receiving model manually. >> In QAbstractItemModel.dropMimeData() I tried reading >> mimeData.data('application/x-qabstractitemmodeldatalist'), but that returns >> a byte stream that I don't know how to handle. >> >> Do I have to re-implement the sender's drag data as well to send the custom >> item in the first place? >> >> It seems that everything works out of the box except the creation of the >> QStandardItem upon drop, rather than my custom item, so I am hoping I don't >> have to re-invent the (drag&drop) wheel just to get that one part right?! >> >> Any advise would be greatly appreciated. >> >> Thanks, >> frank >> >> >> >> -- >> <Sähköpostiliite.png> vfx compositing | workflow customisation and >> consulting >> >> _______________________________________________ >> PySide mailing list >> >> PySide@qt-project.org >> http://lists.qt-project.org/mailman/listinfo/pyside > > _______________________________________________ > PySide mailing list > PySide@qt-project.org > http://lists.qt-project.org/mailman/listinfo/pyside _______________________________________________ PySide mailing list PySide@qt-project.org http://lists.qt-project.org/mailman/listinfo/pyside