请帮我解决这个问题....我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
并将输出作为"Items Dropped"时,这是有效的。但我不知道如何将我的确切QListView
物品带到这里。