1、设置某个QWidget支持拖拽大概流程如下,也可参考QT帮助
拖拽的目的窗口设置设置QWidet::setAcceptDrops为true,该参数默认为false
拖拽源重载mousePressEvent事件,在里面new一个QDrag对象,里面设置一个QDrag::setMimeData数据,QMimeData可以存储各种形式的数据了,可以和QDataStream,QByteArray合起来使用
然后执行QDrag::exec即可,举例如下
QMimeData* pMimeData = new QMimeData;
QByteArray byteArray;
QDataStream datastream(&byteArray, QIODevice::WriteOnly);
datastream<<pixmap<<pChild->text()<<QPoint(pMouseEvent->pos() - pChild->pos());
pMimeData->setData("test", byteArray);
pDrag->setMimeData(pMimeData);
pDrag->setPixmap(pixmap);
pDrag->setH