Пожалуйста, помогите мне решить эту проблему... У меня есть QListView
с левой стороны и QWidget
с другой стороны. В QListView
я добавил несколько элементов, используя QStandardItem
. Теперь я хочу перетащить QListView
элементов на другую сторону QWidget
, и я должен сделать то же самое и с QWidget
. Я могу перетаскивать свои QListView
элементы внутри самого QListView
с помощью
listView.setAcceptDrops(true);
listView.setDragEnabled(true);
listView.setDragDropMode(QAbstractItemView::InternalMove);
это отлично работает только внутри QListView. Я хочу перетащить элементы QListView в другой виджет. Как я могу это сделать? Я знаю, что мне нужно обрабатывать такие события, как
void dropEvent(QDropEvent *);
void dragMoveEvent(QDragMoveEvent *);
void dragEnterEvent(QDragEnterEvent *);
void mousePressEvent(QMouseEvent *);
я только что пробовал вот так
void Example::dragMoveEvent(QDragMoveEvent *e)
{
// The event needs to be accepted here
e->accept();
}
void Example::dragEnterEvent(QDragEnterEvent *e)
{
// Set the drop action to be the proposed action.
e->acceptProposedAction();
}
void Example::dropEvent(QDropEvent *e)
{
qDebug("Items Dropped");
}
Как я только что попробовал с некоторым qDebug() , это работает, когда я перетаскиваю элемент из моего QListView
и бросаю его в QWidget
и получаю вывод как "Предметы выброшены". Но я не знаю, как привести сюда свои QListView
товары.