w网站怎么做,北京网站备案流程,来雁新城建设投资公司官方网站,安全员考试报名入口官网在使用QT想实现拖拽功能的时候#xff0c;发现了dropEvent没有调用运行#xff0c;遂查找原因#xff1a; 首先是网上都说要在dragEnterEvent里面使用event-accept(); 但我这边在出现问题之前就已经这样做了#xff1a;
void CanvasView::dragEnterEvent(QDragEnterEv…在使用QT想实现拖拽功能的时候发现了dropEvent没有调用运行遂查找原因 首先是网上都说要在dragEnterEvent里面使用event-accept(); 但我这边在出现问题之前就已经这样做了
void CanvasView::dragEnterEvent(QDragEnterEvent *event) {qDebug() Drag enter event received; // 确认事件是否被触发if (event-mimeData()-hasFormat(application/x-moduleitem)) {event-acceptProposedAction(); // 接受拖拽} else {event-ignore(); // 不支持的 MIME 类型}
}在这之后我看到一篇博客中有问题答案 博客传送门 在博客中第五条说明了如果使用的类是QGraphicsView需要重写一下dragMoveEvent也就是
//.h:
void dragMoveEvent(QDragMoveEvent *event) override;
//.cpp:
void CanvasView::dragMoveEvent(QDragMoveEvent *event) {event-accept(); // 接受拖拽事件
}