QT6 拖动文件示例

QT6 拖动文件示例

欢迎大家来到IT世界,在知识的湖畔探索吧!

.h 文件增加

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

欢迎大家来到IT世界,在知识的湖畔探索吧!

.cpp文件增加

欢迎大家来到IT世界,在知识的湖畔探索吧!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 拖动文件示例



欢迎大家来到IT世界,在知识的湖畔探索吧!

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

(0)
上一篇 2小时前
下一篇 6分钟前

相关推荐

发表回复

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

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信