拖放事件

来源:互联网 发布:crystalball for mac 编辑:程序博客网 时间:2024/06/05 20:08
  • 拖放一个文件进入窗口时将触发拖放事件
  • 每一个QWidget对象都能处理拖放事件
  • 拖放事件的处理函数:
    • void dragEnterEvent(QDragEnterEvent* e); //拖
    • void dropEvent(QDropEvent* e); //放

拖放事件中的MineData

  • QMimeData是Qt中的多媒体数据类
  • 拖放事件通过QMimeData对象传递数据
  • QMimeData支持多种不同类型的多媒体数据

自定义拖放事件的步骤

  • 对接收拖放事件的对象调用setAcceptDrops成员函数
  • 重写dragEnterEvent函数并判断MIME类型
    • 期望数据:e->acceptProposeAction();
    • 其它数据:e->ignore();
  • 重写dropEvent函数并判断MIME类型
    • 期望数据:从事件对象中获取MIME数据并处理
    • 其它数据:e->ignore();
原创粉丝点击