news 2026/5/1 7:40:14

QMimeData 是 Qt 中数据交换的标准化载体。粘贴复制,跨应用的标准格式。也能自定义数据类型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
QMimeData 是 Qt 中数据交换的标准化载体。粘贴复制,跨应用的标准格式。也能自定义数据类型




// 示例:自定义 MIME 数据类(对应你代码中的 ShapeMimeData)classShapeMimeData:publicQMimeData{Q_OBJECTpublic:// 构造函数:传入要传递的图形项列表ShapeMimeData(constQList<QGraphicsItem*>&items):m_items(items){// 关键:设置自定义 MIME 类型,标识这是「图形项数据」setData("application/x-draw-shape",QByteArray());}// 获取自定义数据(图形项列表)QList<QGraphicsItem*>items()const{returnm_items;}// 重写 hasFormat:告诉外部「我支持这个自定义类型」boolhasFormat(constQString&mimeType)constoverride{returnmimeType=="application/x-draw-shape"||QMimeData::hasFormat(mimeType);}private:QList<QGraphicsItem*>m_items;// 存储自定义的图形项数据};
  1. 典型使用流程(对应你代码中的复制 / 粘贴)
    (1)复制(封装数据)
voidMainWindow::on_copy(){QGraphicsScene*scene=activeMdiChild()->scene();// 1. 创建自定义 MIME 数据,封装选中的图形项ShapeMimeData*data=newShapeMimeData(scene->selectedItems());// 2. 把 MIME 数据设置到剪贴板QApplication::clipboard()->setMimeData(data);}

(2)粘贴(解析数据)

voidMainWindow::on_paste(){QGraphicsScene*scene=activeMdiChild()->scene();// 1. 从剪贴板获取 MIME 数据constQMimeData*mimeData=QApplication::clipboard()->mimeData();// 2. 转换为自定义的 ShapeMimeData(判断类型)constShapeMimeData*shapeData=dynamic_cast<constShapeMimeData*>(mimeData);if(shapeData){// 3. 获取封装的图形项数据,执行粘贴逻辑foreach(QGraphicsItem*item,shapeData->items()){// 复制图形项、添加到场景...}}}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 6:09:58

2026年我会推荐哪些IP归属地查询网站?

IP归属地数据从Web访问统计、内容合规&#xff0c;到风控反欺诈、IoT设备管理都需要的基础数据&#xff0c;用过的人都知道&#xff0c;趁不趁手&#xff0c;不同产品之间的差异性很大&#xff0c;本文基于实际使用和技术侧常见需求&#xff0c;从精准度、数据维度、稳定性、更…

作者头像 李华
网站建设 2026/4/30 20:58:20

直流无刷电机,直径38mm,径向长23.8mm,转速25000rpm,功率200W

直流无刷电机&#xff0c;直径38mm&#xff0c;径向长23.8mm&#xff0c;转速25000rpm&#xff0c;功率200W&#xff0c;可用于磨头加工 最近在折腾微型高转速设备&#xff0c;发现一颗直径38mm的小钢炮特别有意思——直流无刷电机做到这个尺寸竟然能飙到25000转&#xff0c;还…

作者头像 李华
网站建设 2026/4/28 6:55:06

4.6 显存和缓存

1.显存和缓存简介 2.显存和缓存的关系 3.显存和缓存为什么会影响性能 4.显存和缓存优化思路 1.显存和缓存简介 1).显存a.显存是gpu外部的专用大容量存储, 主要用于存放顶点, 纹理, 渲染目标(RT), 阴影贴图后处理缓冲b.特点- 容量大, 以GB为单位, 带宽高, 但是延迟大- GPU工…

作者头像 李华
网站建设 2026/4/28 22:45:55

python Uvicorn库,深度解析

从传统Flask开发转向现代异步Web架构时&#xff0c;理解Uvicorn是关键一步。它解决了传统同步服务器在高并发时的核心瓶颈。 1. 它是什么&#xff1f; Uvicorn是一个轻量级、高性能的ASGI服务器。ASGI是“异步服务器网关接口”的缩写&#xff0c;你可以把它理解为专门为异步通…

作者头像 李华