QT 接收拖拽文件

比如有这样一个功能,点开一个按钮,然后选择或者打开一个文件。

QT 接收拖拽文件_第1张图片

但是一步一步的选择有点麻烦。

有没有简单一点的方法呢?我们想要找到一个文件,然后直接拖到程序里,就能得到这个文件的地址。


好吧,有三个要点:

1.设置属性
this->setAcceptDrops(true);

2.实现虚函数 dragEnterEvent()
void MainWindow::dragEnterEvent(QDragEnterEvent *event)
{
    event->acceptProposedAction();
}


3.实现虚函数 dropEvent()
void MainWindow::dropEvent(QDropEvent *event)
{
    QString name = event->mimeData()->urls().first().toString();
    ui->lineEdit->setText(name);
}
这样就ok了!


你可能感兴趣的:(QT,C++)