void ItemOrderList::dropEvent(QDropEvent *event) { event->accept(); QListWidget *list = ui->listWidgetItems; const QPoint pos = list->mapFromParent(event->pos()); const int s = list->spacing(); QModelIndex index = list->indexAt(pos); if ( !index.isValid() ) index = list->indexAt( pos + QPoint(s, - 2 * s) ); emit dropped( event->mimeData()->text(), index.row() ); }