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 }