当前位置: 首页 > news >正文

QT的dropEvent函数进入不了

在使用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();  // 接受拖拽事件
}

http://www.mrgr.cn/news/31155.html

相关文章:

  • ASPICE认证、咨询和培训的价值是什么?
  • 零基础玩转实在Agent -- 基础篇|实在Agent研究
  • 【北京迅为】《STM32MP157开发板使用手册》- 第四十一章 计数信号量实验
  • 二级C语言2024-3易错题
  • 【ppt2svg svg2png/jpg】ppt转图片解决方案
  • Pandas中df常用方法介绍
  • C++日期类详解 第二级支线任务
  • FB FC里调用全局变量注意事项
  • 用 JS 实现一个发布订阅模式
  • Unity的Text组件中实现输入内容的渐变色效果
  • FedOV
  • solana项目counter,测试过程中执行报错记录分享
  • 【leetcode】堆习题
  • 铲屎官进!宠物空气净化器真的有用吗?哪款去浮毛效果好
  • SQLAlchemy思维导图
  • [产品管理-28]:NPDP新产品开发 - 26 - 产品生命周期管理 - 产品上市的八大步骤
  • 软考高级第四版备考---第四十八天(项目基本要素-项目内外部运行环境、组织系统、项目管理和产品管理)
  • java踩坑
  • Highcharts甘特图基本用法(highcharts-gantt.js)
  • 什么是机房IP?有什么缺点