void DragWidget::dragEnterEvent(QDragEnterEvent *event){//! [4] //! [5]if (event->mimeData()->hasFormat("application/x-fridgemagnet")) {if (children().contains(event->source())) {event->setDropAction(Qt::MoveAction);event->accept();} else {event->acceptProposedAction();//! [5] //! [6]}//! [6] //! [7]} else if (event->mimeData()->hasText()) {event->acceptProposedAction();} else {event->ignore();}}
2 回答

翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
这是一个拖拽事件的函数,我们把文件拖拽进程序界面打开,之前必须setAcceptDrops(true)了以后拖拽,但是只设置acceptDrops还不够,还需要在dragEnterEvent事件中对拖入的对象进行筛选,判断mimeData的类型是否是你能处理的,如果是,则调用event->acceptProposedAction()放行。拖放结束后会产生dropEvent事件,在那里进行最后的放置操作。总之这是拖拽事件函数的一个筛选事件并放置的函数。
- 2 回答
- 0 关注
- 143 浏览
添加回答
举报
0/150
提交
取消