QT学习---使用拖拽打开文本文件
程序员文章站
2024-02-23 14:15:28
...
#include "add.h"
#include <QDebug>
#include <QDragEnterEvent>
#include <QUrl>
#include <QFile>
#include <QTextStream>
#include <QMimeData>
#pragma execution_character_set("utf-8");
add::add(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
setAcceptDrops(true);
}
void add::dragEnterEvent(QDragEnterEvent * event) //拖动进入事件
{
if (event->mimeData()->hasUrls()) //数据中心是否包含URL
{
event->acceptProposedAction(); //如果是,接收
}
else
{
event->ignore(); //否则忽略
}
}
void add::dropEvent(QDropEvent * event) //放下事件
{
const QMimeData * mimeData = event->mimeData(); //获取MIME数据
if (mimeData->hasUrls()) //如果数据中有URL
{
QList <QUrl> urlList = mimeData->urls(); //获取url列表
QString filename = urlList.at(0).toLocalFile(); //第一个url表示为本地文件路径
if (!filename.isEmpty())
{
QFile file(filename); //建立QFile对象,只读方式打开
if (!file.open(QIODevice::ReadOnly)) return;
QTextStream in(&file); //建立文本流对象
ui.textEdit->setText(in.readAll()); //将文件中所有内容读入编译器
}
}
}
推荐阅读
-
QT学习---使用拖拽打开文本文件
-
sqlite学习笔记7:C/C++中使用sqlite之打开数据库
-
QT 串口通讯类的学习与使用
-
Java开发桌面程序学习(八)——启动浏览器或者打开资源管理器操作与hyperlink超链接的使用
-
sqlite学习笔记7:C/C++中使用sqlite之打开数据库
-
Qt5开发学习总结(四)——资源文件的使用与主窗口QMainWindow实现登录框
-
Qt学习之路3--坐标系统、窗口部件位置大小设置及简单的QPushButton使用
-
【学习笔记】C++ GUI Qt4 第三章 3.5 使用对话框和3.6存储设置
-
学习记录:QT中tableview的简简简简简单单单使用
-
mandliya / algorithms_and_data_structures使用Qt打开编译报错解决办法