QEvent::Drop 未调用

QEvent::Drop not called

这是我尝试做的示例代码!当我 运行 它 QEvent::Drop 永远不会被调用!我什至尝试使用 viewport() 并写了一篇包含 dragMove 的文章,但没有任何效果。

setAcceptDrops 对于 MainWindow 和 ui->EditorMdiArea 都是正确的 非常需要帮助!

谢谢

 bool MainWindow::eventFilter(QObject *pFilterObj, QEvent *event) {
    if((pFilterObj==ui->EditorMdiArea) && (event->type()==QEvent::Drag)) {
         QDragEnterEvent *devent = (QDragEnterEvent*)event;
         qDebug()<<"Here we are 1";
            devent->acceptProposedAction();
            devent->accept();
    }
    //if((pFilterObj==ui->EditorMdiArea) && (QVariant(event->type()).toString()=="61")) {
    //  QDragEnterEvent *devent = (QDragEnterEvent*)event;
    //   qDebug()<<"Here we are 2";
    //  devent->accept();
    //}
    qDebug()<<"pFilterObj is "<<pFilterObj;
    qDebug()<<"event type is "<<event->type();
    //ui->EditorMdiArea->viewport()->installEventFilter(this);
    //ui->EditorMdiArea->viewport()->setAcceptDrops(true);

    if((pFilterObj==ui->EditorMdiArea) && (Qevent->type()==QEvent::Drop)) {
        qDebug()<<" Inside pFilterObj is "<<pFilterObj;
    qDebug()<<"Inside event type is "<<event->type();
        QDropEvent *devent = (QDropEvent*)event;
          qDebug()<<"Finaly Destination Reached";
            }
        }
    }
    }
    return false;
}

我明白了!我刚刚添加了

return true

if block of QEvent::Drag

而且效果非常好!谢谢大家 :-) 我会把它标记为已解决