QPixmap的深拷贝和浅拷贝

转载 2015年11月21日 15:13:26

在最近的项目中用到了QPixmap,涉及多线程操作QPixmap对象,为了简单,比如在线程1中构造了一个QPixmap对象,传入线程2,这时调用的函数为operator=(const QPixmap & pixmap),对于不了解QPixmap类的这个函数,误以为会进行深拷贝,导致后面的程序出错问题!该函数利用了浅拷贝,保存了有效数据的地址!如果要进行深拷贝,则需要调用QPixmap的另外一个成员函数copy!

下面对常用来拷贝QPixmap的函数进行了说明:

  1. QPixmap::QPixmap(const QPixmap & pixmap)                //拷贝构造函数,深拷贝  
  2. QPixmap & QPixmap::operator=(const QPixmap & pixmap)    //浅拷贝  
  3. QPixmap QPixmap::copy(const QRect & rectangle = QRect()) const  //深拷贝  

FROM: http://blog.csdn.net/a812073479/article/details/46123761


QImage的浅拷贝与深拷贝

首先简单说说什么是浅拷贝和深拷贝:浅拷贝就比如像引用类型,而深拷贝就比如值类型,即浅拷贝是共用一块内存的,而深拷贝是复制一份内容。  我们再来看看QImage类的几个构造函数:// 浅拷贝 QImag...
  • FreeApe
  • FreeApe
  • 2016年09月21日 23:25
  • 2564

[转]QImage的浅拷贝与深拷贝 -- Deep Copy

QImage

QPixmap的深拷贝和浅拷贝

在最近的项目中用到了QPixmap,涉及多线程操作QPixmap对象,为了简单,比如在线程1中构造了一个QPixmap对象,传入线程2,这时调用的函数为operator=(const QPixmap ...

【Qt】Pixmap

知识补充: QPixmap类: http://doc.qt.io/qt-5/qpixmap.html QPixmap类代表图像,实现在 QtGui 共享库中。    构造函数:    以下...

OpenCV获取彩色图像某一通道的最大连通域

#include #include #include #include #include #include #pragma comment(lib, "cv.lib") #pr...
  • Augusdi
  • Augusdi
  • 2013年06月02日 22:18
  • 5928

C#浅拷贝深拷贝

  • 2014年02月27日 14:26
  • 24KB
  • 下载

C++之深拷贝和浅拷贝

  • 2015年09月09日 19:06
  • 128KB
  • 下载

java List复制:浅拷贝与深拷贝

List浅拷贝众所周知,list本质上是数组,而数组的是以地址的形式进行存储。 如上图将list A浅拷贝给list B,由于进行的是浅拷贝,所以直接将A的内容复制给了B,java中相同内容的数组指向...

copy的使用(深拷贝、浅拷贝)

  • 2015年10月27日 15:56
  • 31KB
  • 下载

浅析Java中的深拷贝与浅拷贝

  • 2013年04月24日 12:56
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QPixmap的深拷贝和浅拷贝
举报原因:
原因补充:

(最多只允许输入30个字)