码迷,mamicode.com
首页 > 其他好文 > 详细

第40课 拖放事件深度剖析

时间:2016-09-24 20:16:11      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

1. Qt中的拖放事件

(1)拖放一个文件进入窗口时将触发拖放事件

(2)每一个QWidget对象都能够处理拖放事件

(3)拖放事件的处理函数为

  void dragEnterEvent(QDragEnterEvent* e);

  void dropEvent(QDropEvent* e);

2. 拖放事件中的QMimeData

(1)QMimeData是Qt中的多媒体数据类

(2)拖放事件通过QMimeData对象传递数据

(3)QMimeData支持多种不同类型的多媒体数据

(4)常MIME类型数据处理函数

测试函数

获取函数

设置函数

MIME类型

hasText()

text()

setText()

text/plain

hasHtml()

Html()

setHtml()

text/html

hasUrls()

Urls()

setUrls()

text/uri-list

hasImage()

imageData()

setImageData()

image/*

hasColor()

colorData()

setColorData()

application/x-color

3. 自定义拖放事件的步骤

(1)对接收拖放事件的对象调用setAccpetDrops成员函数

(2)重写dragEnterEvent函数并判断MIME类型

  ①如果是期望数据:e->acceptProposedAction();

  ②如果是其它数据:e->ignore();

(3)重写dropEvent函数并判断MIME类型

  ①如果是期望数据:从事件对象中获取MIME数据并处理

  ②其它数据:e->ignore();

【编程实验】拖放事件初探

 

4. 文本编辑器中的拖放事件

(1)文本编辑器中的拖放操作

技术分享

(2)解决方案

  ①调用主窗口对象的setAcceptDrops成员函数

  ②重写dragEnterEvent函数并判断MIME类型

  ③重写dropEvent函数并判断MIME类型后打开文件

【编程实验】文本编辑器中的拖放事件

 

5. 小结

(1)QWidget对象都能够处理拖放事件

(2)自定义拖放事件的方法

  ①调用事件接收对象的setAcceptDrops成员函数

  ②重写dragEnterEvent函数并判断MIME类型

  ③重写dropEvent函数并判断MIME类型后进行事件处理

第40课 拖放事件深度剖析

标签:

原文地址:http://www.cnblogs.com/5iedu/p/5903925.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!