Thanks, but that still causes the default drag&drop behaviour to drop a
QStandardItem rather than the subclassed custom item that was dragged.
It's not the data that is the issue but the class type itself.
I have now refactored my code to use QStdandardItem instead of a custom
one which makes it all work, but I'd still be quite interested to know
the best way to do this (drag&drop a custom item between two QListViews
in the same application).
Cheers,
frank
On 17/08/16 8:24 PM, Viktor Engelmann wrote:
The QStandardItem seems to be used to limit the drag&drop to files,
images, text etc. so that you can drag & drop from and to external
applications (which is not possible for general objects).
http://doc.qt.io/qt-4.8/qstandarditem.html#subclassing says you should
subclass QStandardItem and override read and write or data and
setData. That is probably used to marshal and unmashal the objects, to
make them compatible to text, which can be passed to and from external
applications.
Viktor
On 16.08.2016 23:56, Frank Rueter | OHUfx wrote:
Anybody?
I can find plenty of examples on how to drag items from a view to a
widget but can't find anything about dragging a custom item from one
view to another.
Guess I will start to re-implement the entire drag&drop, maybe the
solution will become apparent then.
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
<https://doc.qt.io/archives/4.6/model-view-dnd.html> 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
--
ohufxLogo 50x50 <http://www.ohufx.com> *vfx compositing
<http://ohufx.com/index.php/vfx-compositing> | *workflow
customisation and consulting
<http://ohufx.com/index.php/vfx-customising>* *
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest
--
Viktor Engelmann
Software Engineer
The Qt Company GmbH
Rudower Chaussee 13
D-12489 Berlin
viktor.engelm...@qt.io
+49 151 26784521
http://qt.io
Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho
Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht
Charlottenburg, HRB 144331 B
<http://qt.io>
<http://www.facebook.com/Qt> <http://www.twitter.com/qtproject>
<https://www.linkedin.com/company/the-qt-company/>
<https://plus.google.com/104580575722059274792>
<https://www.youtube.com/QtStudios>
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest