网站首页 > 基础教程 正文
.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);
}
效果如图
猜你喜欢
- 2025-02-04 CAD20个超级全面的小技巧,非常实用,快快收藏起来吧!(二)
- 2025-02-04 Android 12 第二个开发者预览版,全新主题你喜欢吗?
- 2025-02-04 抓大放小,瞅瞅 Qt 的几个基础模块
- 2025-02-04 40种CAD常见问题解决方法,从此不再求人
- 2025-02-04 掌握这100个CAD实用技巧,效率提高10倍
- 2025-02-04 《速度与激情》经典语录:怎么任性怎么来!
- 2025-02-04 新手必备50个常用cad+天正建筑技巧,零基础入门到精通cad!
- 2025-02-04 PS可不是P图,今天就来讲讲那些英文缩写词
- 2025-02-04 Qt开发-GraphicsView编程(qt 开发)
- 2025-02-04 「10.Delphi数据库编程」12.数据控制组件之DBGrid组件
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)