关闭

QPixmap的深拷贝和浅拷贝

1166人阅读 评论(0) 收藏 举报
分类:

在最近的项目中用到了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


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1923122次
    • 积分:19431
    • 等级:
    • 排名:第436名
    • 原创:13篇
    • 转载:1729篇
    • 译文:1篇
    • 评论:187条
    文章分类
    最新评论