实现qt拖拽显示或者播放

  • 拖拽端处理:

第一步

cpp 复制代码
setAcceptDrops(true); // 允许拖拽

鼠标点击拖拽处理:

cpp 复制代码
void WidgetAdd::mousePressEvent(QMouseEvent *event){
        QDrag *drag = new QDrag(this);
        QMimeData *mimeData = new QMimeData;

        // 将当前 Widget 的标识作为 MIME 数据传递(可以根据需要更改)
        mimeData->setText(drawText);
        drag->setMimeData(mimeData);
        // 开始拖拽
        drag->exec();
}

接收端:

cpp 复制代码
setAcceptDrops(true); // 允许丢弃
cpp 复制代码
void WidgetRecv::dragEnterEvent(QDragEnterEvent *event)
{
    if (event->mimeData()->hasText()) {
        event->acceptProposedAction(); // 接受拖拽
    }
}

void WidgetRecv::dropEvent(QDropEvent *event)
{
    if (event->mimeData()->hasText()) {
        QString text = event->mimeData()->text();
        // 处理接收到的内容
        event->acceptProposedAction(); // 确认丢弃
    }
}
相关推荐
摘星怪sec41 分钟前
【漏洞复现】|方正畅享全媒体新闻采编系统reportCenter.do/screen.do存在SQL注入
数据库·sql·web安全·媒体·漏洞复现
基哥的奋斗历程1 小时前
学到一些小知识关于Maven 与 logback 与 jpa 日志
java·数据库·maven
苏-言1 小时前
MyBatis最佳实践:提升数据库交互效率的秘密武器
数据库·mybatis
学习嵌入式的小羊~1 小时前
RV1126+FFMPEG推流项目(11)编码音视频数据 + FFMPEG时间戳处理
ffmpeg·音视频
gyeolhada1 小时前
计算机组成原理(计算机系统3)--实验八:处理器结构拓展实验
java·前端·数据库·嵌入式硬件
码农丁丁1 小时前
为什么数据库不应该使用外键
数据库·mysql·oracle·数据库设计·外键
随心Coding3 小时前
【MySQL】存储引擎有哪些?区别是什么?
数据库·mysql
刘大猫.4 小时前
vue3使用音频audio标签
音视频·audio·preload·加载音频文件·vue3使用audio·vue3使用音频·audio标签
m0_748237054 小时前
sql实战解析-sum()over(partition by xx order by xx)
数据库·sql
dal118网工任子仪5 小时前
61,【1】BUUCTF WEB BUU XSS COURSE 11
前端·数据库·xss