下面是我所要做的事情的一个示例代码!当我运行它时,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;
}发布于 2018-06-19 05:05:02
我抓到了!我刚加了
返回true
在
如果QEvent的块::拖动
它就像一种魅力!谢谢大家:-)我会把它标为已解决的
https://stackoverflow.com/questions/50911600
复制相似问题