我现在子类化了QListWidget,在里面重新实现了dragEnterEvent和dropEvent两个函数,如下:
UrlListWidget::UrlListWidget(QWidget *parent) : QListWidget(parent)
{
setAcceptDrops(true);
}
void UrlListWidget::dragEnterEvent(QDragEnterEvent *event)
{
if (event->mimeData()->hasFormat("text/uri-list"))
{
event->setDropAction(Qt::CopyAction);
event->acceptProposedAction();
}
}
void UrlListWidget::dropEvent(QDropEvent *event)
{
QString url = event->mimeData()->text();
QMessageBox::information(this, tr("UrlListWidget"),
tr("dropEvent()."));
event->setDropAction(Qt::CopyAction);
event->acceptProposedAction();
}
然后尝试着在浏览器中把网址拖入其中,可是debug后发现只有dragEnterEvent得到了调用,dropEvent并没有得到调用,这是怎么回事啊?