派生的python对象的深层副本

时间:2010-09-14 03:47:23

标签: python object pyqt derived-class deep-copy

我在python中有一个派生自QtGui.QGraphicsPixmapItem的对象,其中包含一些基本属性和方法。在对此对象的引用上调用deepcopy之后,当我尝试使用该副本时,我收到错误消息underlying C/C++ object has been deleted。之前我收到过这个错误,当我没有在__init__中调用基类的构造函数时发生了这个错误,所以我认为这个错误是因为没有复制QtGui.QGraphicsPixmapItem

我该怎么做呢?我所知道的是,为此目的有一种__deepcopy__方法。

1 个答案:

答案 0 :(得分:3)

QGraphicsPixmapItem不可复制。它继承了使用QGraphicsItem宏声明的Q_DISABLE_COPY,这与QObjects禁用复制的机制相同。 The documentation explains it a bit better