一.拖放操作简介
1.拖放的启动和结束
1)、启动拖放:拖放通过调用QDrag::exec()函数而启动,这意味着在拖放操作结束之前,不会返回该函数,调用QDrag::exe()函数后,Qt拥有对拖动对象的所有权,并会在必要时将其删除
2)、结束拖放:当用户放下拖动或取消拖动操作时结束拖放。
3)、MIME类型使用QMimeData类来描述。MIME类型通常由剪贴板和拖放系统使用,以识别不同类型的数据
2.拖放事件
1)、QDragEnterEvent:拖动进入事件。当拖动操作进入部件时,发送该事件
2)、QDragMoveEvnet:拖动移动事件。当拖动操作正在进行时,发送该事件
3)、QDropEvent:放下事件。在完成拖放操作时发送该事件,即当用户在部件上放下一个对象时,发送此事件
4)、QDragLeaveEvent:当拖放操作离开部件时发送该事件
二.常用方法
setAcceptDrops(true); //设置能否拖动
setDragEnabled(true); //设置能否放置
setDropIndicatorShown(false);//显示拖放指示器
setDropAction(Qt::MoveAction) //设置拖动动作