【问题标题】:Deep copy of a derived python object派生的python对象的深拷贝
【发布时间】:2011-04-11 23:36:17
【问题描述】:

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

我该如何指定这个?我只知道有一个__deepcopy__ 方法可以用于此目的。

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-14
      • 2012-06-19
      • 2019-11-17
      • 1970-01-01
      • 2015-01-13
      • 2011-04-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多