如何在Qt中解码";application/x-qabstractitemmodeldatalist";进行拖放? [英] How to decode "application/x-qabstractitemmodeldatalist" in Qt for drag and drop?
本文介绍了如何在Qt中解码";application/x-qabstractitemmodeldatalist";进行拖放?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已经创建了一个QTreeWidget的子类,我希望它也能够从另一个树小部件(不过我希望自己处理插入)以及QListWidget中拖动项目。
我已重写了类中的dropEvent方法,并且从我的QTreeWidget获得的数据的MIMETYPE似乎是APPLICATION/x-qAbstractitemModeldatist,我如何对其进行解码以从树中取出项?
推荐答案
您可以按照如下方式进行解码:
QByteArray encoded = qMimeData->data("application/x-qabstractitemmodeldatalist");
QDataStream stream(&encoded, QIODevice::ReadOnly);
while (!stream.atEnd())
{
int row, col;
QMap<int, QVariant> roleDataMap;
stream >> row >> col >> roleDataMap;
/* do something with the data */
}
QMap<int, QVariant>
是QAbstractItemModel::itemData(index)
为表示(row, col)
的索引返回的值。
这篇关于如何在Qt中解码";application/x-qabstractitemmodeldatalist";进行拖放?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文