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

国外flash网站欣赏六安百姓杂谈

国外flash网站欣赏,六安百姓杂谈,wordpress类,上海注册公司没有地址怎么办QSharedMemory是qt提供对共享内存操作的类#xff0c;主要用来对内存卡写数据和读数据。 常用api: 1、void QSharedMemory::setKey(const QString key) 为共享内存设置键值。如何当前的内存共享对象已经链接到底层的共享内存段#xff08;isAttached#xff09;…QSharedMemory是qt提供对共享内存操作的类主要用来对内存卡写数据和读数据。 常用api: 1、void QSharedMemory::setKey(const QString key) 为共享内存设置键值。如何当前的内存共享对象已经链接到底层的共享内存段isAttached则在设置新的键值前分离开detach。 2、bool QSharedMemory::create(int size, QSharedMemory::AccessMode mode ReadWrite)该函数根据共享内存的Key值来创建一个size大小的共享内存段可以根据mode设为ReadWrite可读可写或者ReadOnly只读模式。 3、bool QSharedMemory::attach(QSharedMemory::AccessModemode ReadWrite)该函数将会依据共享内存对象的Key值来将共享内存对象与实际的共享内存逻辑地址相链接这样进程就可以通过QSharedMemory对象来访问实际的共享内存了。4、bool QSharedMemory::detach() 将进程与共享内存段分离。如果这是链接到共享内存段的最后一个进程那么这个共享内存段将被系统释放也就是说共享内存中的内容将被销毁。 5、bool QSharedMemory::lock() 这是一个可以锁住共享内存段以供该进程访问的信号量。当进程对共享内存进程操作时为防止其它进程也对该内存进行改动从而操作数据不同步的情况需要将内存进行锁定也就是lock。6、bool QSharedMemory::unlock() 当对共享内存操作完成后需要释放共享内存段上的锁。否则其它进程无法对共享内存进行任何操作。发送端代码 void QtWidgetsSendData::writeSharedMemory(QImage img) { if (mSharedMemSender nullptr) { mSharedMemSender new QSharedMemory(); // 设置共享内存区域Key mSharedMemSender-setKey(PicShared); if (mSharedMemSender-isAttached()) { mSharedMemSender-detach(); } // 获取需要共享的数据大小 int r mSharedMemSender-size(); // 创建共享内存区域 auto hh mSharedMemSender-create(588810); } QBuffer buffer; buffer.open(QIODevice::ReadWrite); // 创建QDataStream对象并指定数据存储对象为buffer QDataStream inStream(buffer); // 将图片数据传入 inStream img; // 将共享内存区域锁定 mSharedMemSender-lock(); //写入数据 memcpy((char*)mSharedMemSender-data(), (char*)buffer.data().data(), buffer.size()); // 将共享内存区域解锁 mSharedMemSender-unlock(); } 接受端代码: void QtWidgetsReceiveData::readSharedMemory() { QSharedMemory sharedMemReceiver; // 设置共享内存区域Key sharedMemReceiver.setKey(PicShared); // 将共享内存区域与程序挂接 int rr sharedMemReceiver.isAttached(); int r sharedMemReceiver.attach(); auto test sharedMemReceiver.errorString(); //qDebug() 创建共享内存失败: sharedMemReceiver.errorString(); // 将共享内存区域锁定 sharedMemReceiver.lock(); // 获取共享内存大小此处相当于数据大小 int size sharedMemReceiver.size(); QBuffer buffer; // 将共享内存的数据设置到buffer容器中 buffer.setData((char*)sharedMemReceiver.constData(), size); // 然后以只读的方式打开 buffer.open(QBuffer::ReadOnly); // 创建QDataStream对象读取数据并指定数据buffer QDataStream outStream(buffer); // 创建QImage并通过数据流对象将图片数据写入 QImage img; outStream img; // 将共享内存解锁 sharedMemReceiver.unlock(); // 将挂接的共享内存与程序分离 sharedMemReceiver.detach(); ui.label_srcImage-setPixmap(QPixmap::fromImage(img)); }
http://www.w-s-a.com/news/783344/

相关文章:

  • 怎么做英文网站网站建设基本费用
  • dede网站名称不能保存wordpress运费设置
  • 出口网站制作好一点的网站建设
  • 在小说网站做编辑怎么找韶关市建设局网站
  • 网站策划怎么做内容旅游型网站建设
  • 东莞百度网站推广ppt模板免费下载的网站
  • 网站建设项目管理基本要求网站空间到期影响
  • 做奖杯的企业网站谁有推荐的网址
  • wordpress能做企业站吗wordpress收发邮件
  • 电子产品网站建设策划方案腾讯企业邮箱注册申请免费
  • 哪些网站可以免费做代码自己电脑做网站服务器广域网访问
  • 高端网站设计青海省教育厅门户网站学籍查询
  • 长春网站优化公司网站制作400哪家好
  • 县级门户网站建设的报告开发游戏的软件有哪些
  • 做电子商务的网站wordpress带会员中心
  • 网站域名不变网站可以从做吗网站建设步骤 文档
  • 网站建设中 gif互联网新项目在哪里找
  • 做外包网站猎头公司英文
  • 房屋结构自建设计 网站海淀教育互动平台
  • 网络营销比赛 营销型网站策划热门搜索关键词
  • 网站建设图片代码网络设计师工资
  • 福建网站开发适合交换友情链接的是
  • 企业门户网站建站内乡微网站开发
  • 在线做logo印章网站一般到哪个网站找数据库
  • 哪些网站做免费送东西的广告6郑州人流医院哪家好
  • 高端做网站哪家好sem技术培训
  • 网站做等保是按照什么定级别的做网站的资源哪里找
  • 免费建站网页无需登陆潍坊高端模板建站
  • 北京php网站建设软通动力外包值得去吗
  • 优酷 做视频网站还能成功吗光谷做网站推广哪家好