将项目从列表小部件拖放到列表小部件后,该项目在目标列表小部件中消失。
我仅将 eventFilter 用于 MainWindow 中的列表小部件。
bool MainWindow::eventFilter(QObject *target,QEvent *event){
if (event->type() == QEvent::DragEnter)
{
QDragEnterEvent *tDragEnterEvent = static_cast<QDragEnterEvent *>(event);
tDragEnterEvent->acceptProposedAction();
return true;
}
else if (event->type() == QEvent::DragMove)
{
QDragMoveEvent *tDragMoveEvent = static_cast<QDragMoveEvent *>(event);
tDragMoveEvent->acceptProposedAction();
return true;
}
else if (event->type() == QEvent::Drop)
{
QDropEvent *tDropEvent = static_cast<QDropEvent *>(event);
tDropEvent->acceptProposedAction();
qDebug() << "OK, execute your task!";
return true;
}
else
{
// standard event processing
return QObject::eventFilter(target, event);
}
//return false;
}
//in MainWindow constructor
ui->listWidget->installEventFilter(this);
qDebug 显示了调试行,但该项目丢失了。
