Qt学习之路(52): 拖放技术之一
- #ifndef MAINWINDOW_H
- #define MAINWINDOW_H
- #include <QtGui>
- class MainWindow : public QMainWindow
- {
- Q_OBJECT
- public:
- MainWindow(QWidget *parent = 0);
- ~MainWindow();
- protected:
- void dragEnterEvent(QDragEnterEvent *event);
- void dropEvent(QDropEvent *event);
- private:
- bool readFile(const QString &fileName);
- QTextEdit *textEdit;
- };
- #endif // MAINWINDOW_H
- #include "mainwindow.h"
- MainWindow::MainWindow(QWidget *parent)
- : QMainWindow(parent)
- {
- textEdit = new QTextEdit;
- setCentralWidget(textEdit);
- textEdit->setAcceptDrops(false);
- setAcceptDrops(true);
- setWindowTitle(tr("Text Editor"));
- }
- MainWindow::~MainWindow()
- {
- }
- void MainWindow::dragEnterEvent(QDragEnterEvent *event)
- {
- if (event->mimeData()->hasFormat("text/uri-list")) {
- event->acceptProposedAction();
- }
- }
- void MainWindow::dropEvent(QDropEvent *event)
- {
- QList<QUrl> urls = event->mimeData()->urls();
- if (urls.isEmpty()) {
- return;
- }
- QString fileName = urls.first().toLocalFile();
- if (fileName.isEmpty()) {
- return;
- }
- if (readFile(fileName)) {
- setWindowTitle(tr("%1 - %2").arg(fileName, tr("Drag File")));
- }
- }
- bool MainWindow::readFile(const QString &fileName)
- {
- bool r = false;
- QFile file(fileName);
- QTextStream in(&file);
- QString content;
- if(file.open(QIODevice::ReadOnly)) {
- in >> content;
- r = true;
- }
- textEdit->setText(content);
- return r;
- }
- #include <QtGui/QApplication>
- #include "mainwindow.h"
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- MainWindow w;
- w.show();
- return a.exec();
- }
Qt学习之路(52): 拖放技术之一相关推荐
- QT学习之路2 学习笔记
QT学习之路2 学习笔记 1.Qt 是一个著名的 C++ 应用程序框架.你并不能说它只是一个 GUI 库,因为 Qt 十分庞大,并不仅仅是 GUI 组件.使用 Qt,在一定程度上你获得的是一个&quo ...
- 《Qt 学习之路 2》
Home / Qt 学习之路 2 / <Qt 学习之路 2>目录 <Qt 学习之路 2>目录 序 Qt 前言 Hello, world! 信号槽 自定义信号槽 Qt 模块简介 ...
- java qt gui_工控编程,Qt 学习之路
原标题:工控编程,Qt 学习之路 Qt 是一个著名的 C++ 库--或许并不能说这只是一个 GUI 库,因为 Qt 十分庞大,并不仅仅是 GUI.使用 Qt,在一定程序上你获得的是一个"一站 ...
- Qt学习之路(24): QPainter(改写paintEvent)
Qt学习之路(24): QPainter(改写paintEvent) 多些大家对我的支持啊!有朋友也提出,前面的几节有关event的教程缺少例子.因为event比较难做例子,也就没有去写,只是把大概写 ...
- 转载: Qt 学习之路 2归档
Qt 学习之路 2归档 http://www.devbean.net/2012/08/qt-study-road-2-catelog/
- 对QT学习之路12-14的源代码补充与修正
QT学习之路12-14的源代码有些不完整,为了更好的让大家学习,本人做了一点修正与补充,谢谢.源代码如下: 头文件: #ifndef MAINWINDOW_H #define MAINWINDOW_H ...
- Qt学习之路_12(简易数据管理系统)
原文地址为: Qt学习之路_12(简易数据管理系统) 前言 最近从大陆来到台湾,之间杂事很多,挤不出时间来更新博客- 这次主要是通过做一个简易的数据库管理系统,来学习在Qt中对数据库,xml,界面的各 ...
- QT学习之路(一)ubuntu 18.04的Qt Creator在线安装
文章目录 前言 一.准备工作 二.安装步骤 参考链接 前言 Qt是嵌入式开发的必备工具之一,在Linux下安装尤其重要. Qt是C++的一个库,或者说是开发框架,里面集成了一些库函数,提高开发效率. ...
- [记录]学习QT学习之路2第四天
今天学习内容对应<<QT学习之路2>>第18到23部分,主要是有关于QT事件这一部分的内容(=_=真是看到我快吐了,感觉这本书不适合我这种初学者). 先放出思维导图 难点总结 ...
最新文章
- 数据库开发基本操作-关于sql server 2005 未开放1433端口的问题
- python调用海康sdk 数据类型
- xenserver 脚本学习之/opt/xensource/bin/xapi-wait-init-complete
- C#隐藏桌面图标和任务栏
- 基于JAVA+SpringBoot+Mybatis+MYSQL的请假与审批系统
- Kubernetes集群部署1
- 服务器端可控情形的Javascript跨域访问解决方法
- intellij idea 在什么地方打开终端Terminal
- 【渝粤教育】国家开放大学2018年秋季 1131t卫生经济学 参考试题
- Mac和windows哪个好
- 线程的创建以及线程的本质
- ArcGIS 对DEM数据进行剖面分析
- 中国省市区列表MySQLl数据库脚本
- C#nameof用法
- 计算机更新配置卡住了,win10更新设置卡死怎么办|win10更新设置卡死的完美解决方法...
- 天翼云主攻“5G+云+AI”,新生态革命的冲锋
- 利用Flourish制作动态条形图
- 微信小程序开发(三)——IE盒子,Flex弹性布局,色子六面
- [海思]--Hi3516a--添加新Sensor
- 音频压缩工具——Speex的使用