[Interest] QListView: drag&drop custom item
Frank Rueter | OHUfx
frank at ohufx.com
Thu Aug 18 01:58:33 CEST 2016
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 at qt-project.org
>>> http://lists.qt-project.org/mailman/listinfo/interest
>>
>>
>>
>> _______________________________________________
>> Interest mailing list
>> Interest at 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.Engelmann at 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 at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20160818/9cada573/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 2666 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20160818/9cada573/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 16849 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20160818/9cada573/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 1407 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20160818/9cada573/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 1778 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20160818/9cada573/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 1532 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20160818/9cada573/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 1957 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20160818/9cada573/attachment-0005.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 1610 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20160818/9cada573/attachment-0006.png>
More information about the Interest
mailing list