以下这个函数是什么意思?

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();

}
}

慕虎7371278
浏览 144回答 2
2回答

翻翻过去那场雪

这是一个拖拽事件的函数,我们把文件拖拽进程序界面打开,之前必须setAcceptDrops(true)了以后拖拽,但是只设置acceptDrops还不够,还需要在dragEnterEvent事件中对拖入的对象进行筛选,判断mimeData的类型是否是你能处理的,如果是,则调用event->acceptProposedAction()放行。拖放结束后会产生dropEvent事件,在那里进行最后的放置操作。总之这是拖拽事件函数的一个筛选事件并放置的函数。

慕尼黑5688855

拖放和移动事件的处理函数。对应的是放dropEvent函数。
打开App,查看更多内容
随时随地看视频慕课网APP