QT6 拖动文件示例

QT6 拖动文件示例

大家好,欢迎来到IT知识分享网。

.h 文件增加

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

.cpp文件增加

void MainWindow::dragEnterEvent(QDragEnterEvent *event) // 拖动进入事件 { if(event->mimeData()->hasUrls()) // 数据中是否包含URL event->acceptProposedAction(); // 如果是则接收动作 else event->ignore(); // 否则忽略该事件 } void MainWindow::dropEvent(QDropEvent *event) // 放下事件 { const QMimeData *mimeData = event->mimeData(); // 获取MIME数据 if(mimeData->hasUrls()){ // 如果数据中包含URL QList<QUrl> urlList = mimeData->urls(); // 获取URL列表 // 将其中第一个URL表示为本地文件路径 QString fileName = urlList.at(0).toLocalFile(); if(!fileName.isEmpty()){ // 如果文件路径不为空 QFile file(fileName); // 建立QFile对象并且以只读方式打开该文件 if(!file.open(QIODevice::ReadOnly)) return; QTextStream in(&file); // 建立文本流对象 ui->textEdit->setText(in.readAll()); // 将文件中所有内容读入编辑器 } } }

构造函数内增加

MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); setAcceptDrops(true); }

效果如图

QT6 拖动文件示例

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/179350.html

(0)
上一篇 2025-05-26 08:26
下一篇 2025-05-26 08:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信