Qt Drag and Drop QListView удаляет элемент, на котором он выпущен

Я работаю над небольшим QlistView, который можно сортировать.

    iListView = new QListView(this);
    //Creating a standard item model
    iStandardModel = new QStandardItemModel(this);

    //First item
    QStandardItem* item1 = new QStandardItem(QIcon(":/cover-story-album-art.jpg"),"First Item");
    //Second item
    QStandardItem* item2 = new QStandardItem(QIcon(":/cover-story-album-art.jpg"),"Second item");
    //third item 
    QStandardItem* item3 = new QStandardItem(QIcon(":/cover-story-album-art.jpg"),"Third![enter image description here][1] item");

    //Appending the items into model
    iStandardModel->appendRow(item1);
    iStandardModel->appendRow(item2);
    iStandardModel->appendRow(item3);

    //Setting the icon size
    iListView->setIconSize(QSize(40,30));

    //Setting the model
    iListView->setModel(iStandardModel);

    //Setting listview geometry
    iListView->setGeometry(QRect(0,0,240,320));
    iListView->setDragEnabled(true);
    iListView->setAcceptDrops(true);
    iListView->setDragDropMode(QAbstractItemView::InternalMove);

Хорошо, перетаскивание работает, но есть проблема, если я перетащу элемент на любой другой элемент, замененный, кроме конца списка. «Перетаскиваемый» элемент заменяет элемент «выпущенный».

Скриншот QListView в разных сценариях Screen shot of QListView  at different Scenarios

5
задан 12 June 2012 в 04:31
поделиться