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 回答
開心每一天1111
TA貢獻1836條經(jīng)驗 獲得超13個贊
這是一個拖拽事件的函數(shù),我們把文件拖拽進程序界面打開,之前必須setAcceptDrops(true)了以后拖拽,但是只設(shè)置acceptDrops還不夠,還需要在dragEnterEvent事件中對拖入的對象進行篩選,判斷mimeData的類型是否是你能處理的,如果是,則調(diào)用event->acceptProposedAction()放行。拖放結(jié)束后會產(chǎn)生dropEvent事件,在那里進行最后的放置操作??傊@是拖拽事件函數(shù)的一個篩選事件并放置的函數(shù)。
千萬里不及你
TA貢獻1784條經(jīng)驗 獲得超9個贊
拖放和移動事件的處理函數(shù)。對應(yīng)的是放dropEvent函數(shù)。至于怎么弄,你直接百度一下這相關(guān)函數(shù)就好了。不做多解釋咯
- 2 回答
- 0 關(guān)注
- 159 瀏覽
添加回答
舉報
0/150
提交
取消
