Qt主窗口实现拖拽文件,显示到文本框

时间:2019-11-14
本文章向大家介绍Qt主窗口实现拖拽文件,显示到文本框,主要包括Qt主窗口实现拖拽文件,显示到文本框使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1 MainWindow::MainWindow(QWidget *parent) :
2     QMainWindow(parent),
3     ui(new Ui::MainWindow)
4 {
5     ui->setupUi(this);
6     this->setAcceptDrops(true);//设置接受拖拽
7 }

重写

void dragEnterEvent(QDragEnterEvent* event);//拖动进入事件
void dropEvent(QDropEvent* event);//放下事件

 1 void MainWindow::dragEnterEvent(QDragEnterEvent* event)
 2 {
 3     if(event->mimeData()->hasUrls())
 4     {
 5         event->acceptProposedAction();
 6     }
 7     else
 8     {
 9         event->ignore();
10     }
11 }
12 
13 void MainWindow::dropEvent(QDropEvent* event)
14 {
15     const QMimeData* mimeData = event->mimeData();
16     if(mimeData->hasUrls())
17     {
18         QList<QUrl>urlList = mimeData->urls();
19         QString fileName = urlList.at(0).toLocalFile();
20         if(!fileName.isEmpty())
21         {
22             QFile file(fileName);
23             if(!file.open(QIODevice::ReadOnly))return;
24             QTextStream in(&file);
25             ui->textEdit->setText(in.readAll());
26         }
27     }
28 }

原文地址:https://www.cnblogs.com/mtn007/p/11858693.html