关于QT的drag和drop功能求教
QT自带一些简单的drag和drop的处理方法,我现在碰到一个问题。
现有一组图标,在一个widget里,是4X4宫格,希望能做到drag一个图标到其他图标时可以实现插入功能,即drop时可以插入到指定位置,而现在实现却发现drag一个图标时,无论拖到哪里,只能被自动drop放置在最后一个,请问怎么解决。
并且奉上自己的dropEvent代码 请看有没有什么问题
void Test::dropEvent(QDropEvent *event)
{
if (event->mimeData()->hasFormat(constMimeDataFormat)
{
QByteArray itemData = event->mimeData()->data(constMimeDataFormat);
QDataStream dataStream(&itemData, QIODevice::ReadOnly);
QPixmap menuIcon;//menu icon
QString menuName;//menu name
QString menuId;//menu id
QString appName;//App Name
dataStream >> menuIcon >> menuName >> menuId >> appName;
AddMenuItem(menuIcon, menuName,menuId,appName);
if (event->source() == this)
{
event->setDropAction(Qt::MoveAction);
event->setAccepted(true);
}
else
{
event->acceptProposedAction();
}
}
else
{
event->ignore();
}
}