Qt文本拖放
来源:互联网 发布:淘客怎么登陆淘宝客 编辑:程序博客网 时间:2024/06/13 06:23
//下面是mainwindow.h文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QDragEnterEvent>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
protected:
void dragEnterEvent(QDragEnterEvent *event);//拖动进入事件
void dropEvent(QDropEvent *event);//放下事件
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
//下面是mainwindow.cpp文件
#include "mainwindow.h"#include "ui_mainwindow.h"#include <QUrl>#include <QTextStream>MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow){
ui->setupUi(this);setAcceptDrops(true);//设置接受放下事件}
MainWindow::~MainWindow(){
delete ui;}
//拖放进入事件
void MainWindow::dragEnterEvent(QDragEnterEvent *event){
//判断数据中是否包含URLif(event->mimeData()->hasUrls()){//如果是则处理该动作event->acceptProposedAction();}else{//不是忽略该事件event->ignore();}}
//放下事件
void MainWindow::dropEvent(QDropEvent *event){
//获取MIME数据const QMimeData *mimeData = event->mimeData();if(mimeData->hasUrls()){//获取数据中包括的URLQList<QUrl> urlList = mimeData->urls();//将其中第一个URL表示为本地文件路径QString fileName = urlList.at(0).toLocalFile();//如果文件路径不为空,则打开if(!fileName.isEmpty()){//将当前MainWindowTitle设置为打开的文件this->setWindowTitle(fileName);//建立QFile对象并且以只读方式打开该文件QFile file(fileName);if(file.open(QIODevice::ReadOnly)){//建立文本流对象QTextStream in(&file);//将文件中所有内容读入到编辑框ui->textEdit->setText(in.readAll());}}}}
/*
当鼠标拖拽一个数据进入主窗口时,就会触发dragEventEvent()事件处理函数,获取其中的Mime数据,然后查看它是否包含URL
路径,因为拖入的文本文件实际上就是拖入它的路径.
当松开鼠标时,将数据放入主窗口时就会触发dropEvent()事件处理函数
*/
0 0
- Qt文本拖放
- C++ Qt 11:文本编辑器——拖放技术
- C++ Qt 11:文本编辑器——拖放技术
- Qt拖放
- Qt拖放
- Qt 拖放
- Qt拖放
- Qt 拖放
- Qwidget实现文本拖放
- QT的拖放功能
- Qt中实现拖放
- Qt拖放技术之一
- qt的拖放
- Qt中的拖放问题
- Qt图片拖放
- QT 实现拖放功能
- Qt使用拖放
- Qt之拖放
- Kruskal算法-图由邻接表实现
- hdoj 2066 一个人的旅行
- hdu-1869 六度分离
- role
- web前端工程师修炼之道——第三章 web设计基本概念
- Qt文本拖放
- MVC不仅仅是设计模式
- MySQL批量SQL插入性能优化
- HUD 5375 Gray code 动态规划
- 自平衡智能机器人开发笔记
- Codeforces Round #274 (Div. 2) E:Riding in a Lift DP + 前缀优化
- Android 下收发input事件的工具 getevent 和 sendevent
- XSS跨站脚本攻击
- 如何将navicat for mysql 中查询出来的内容导出到xls文件中