江苏省义务教育标准化建设网站,主营网站建设会计记账,福州网站怎么做seo,成都网站制作龙兵科技在使用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(); // 接受拖拽事件
}