Я пытаюсь сделать перетаскивание внутри работы виджета дерева, чтобы иметь возможность перемещать элементы внутри этого виджета. Мне удалось сделать элементы перетаскиваемыми, но когда я отпускаю кнопку мыши, элемент исчезает. Чтобы сузить это я попытался следующий пример (взятый из другого поста здесь, на SO), который имеет те же проблемы, как мое дерево виджета в Qt 5.4 на Windows 7:InternalMove в QListWidget делает элемент исчезающим
#include <QListWidget>
int main(int argc, char **argv)
{
QApplication a(argc, argv);
QListWidget lw;
for(int i = 1; i < 10; ++i)
lw.addItem(new QListWidgetItem(QString("Item %1").arg(i)));
lw.setDragEnabled(true); // ***
lw.viewport()->setAcceptDrops(true); // ***
lw.setDefaultDropAction(Qt::MoveAction); // ***
lw.setDropIndicatorShown(true); // ***
lw.setDragDropMode(QAbstractItemView::InternalMove);
lw.show();
a.connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()));
a.exec();
}
Когда я запускаю этот код и перетащить/drop некоторые предметы выглядят так:
Почему удаленный предмет удален? Любые идеи о том, чего я не хватает?