Qt 窗口接收拖动进来的文件路径

 

在桌面应该的开发中,经常会碰见拖动文件进入窗口来添加文件的方法。在Qt中实现相当简单。
在要接收拖动文件的widget类中,重载2个虚函数:

 

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

 

void ViewWidget::dragEnterEvent(QDragEnterEvent *event)
{
    if (event->mimeData()->hasFormat("text/uri-list"))
        event->acceptProposedAction();
}

void ViewWidget::dropEvent(QDropEvent *event)
{
    QList<QUrl> urls = event->mimeData()->urls();
    if (urls.isEmpty())
       return;
    QString fileName = urls.first().toLocalFile();
    if (fileName.isEmpty() )
        return;
    qDebug() << fileName;
}

 

但是不要忘记,开启这个窗口接受拖动,在构造方法中调用:
 
 this->setAcceptDrops(true);

 

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值