Qt 实现文件拖拽

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kidults/article/details/88027353

直接上代码

#include<QDragEnterEvent>
#include<QMimeData>
#include<QDropEvent>

protected:
    void dragEnterEvent(QDragEnterEvent *event);
    void dropEvent(QDropEvent *event);



 this->setAcceptDrops(true);

void Widget::dragEnterEvent(QDragEnterEvent *event)
{
    event->acceptProposedAction();
}

//拖拽文件到窗口中,释放鼠标之后,会执行dropEvent

void Widget::dropEvent(QDropEvent *event)
{
    //QString name = event->mimeData()->urls().first().toString();      // 结果   "file:///E:/a.png"
    //QString name = event->mimeData()->urls().at(0).toLocalFile();    // 结果   "E:/a.png"
    QString name = event->mimeData()->urls().first().toLocalFile();    //  结果   "E:/a.png"
    qDebug()<< name;
}

猜你喜欢

转载自blog.csdn.net/kidults/article/details/88027353