2010-09-14 8 views
4

J'ai un objet en python dérivé de QtGui.QGraphicsPixmapItem avec quelques attributs et méthodes de base. Après avoir appelé deepcopy sur une référence à cet objet, j'obtiens une erreur en disant que underlying C/C++ object has been deleted lorsque j'essaie d'utiliser la copie. J'avais déjà reçu cette erreur, et cela s'est produit lorsque je n'ai pas appelé le constructeur de la classe de base dans __init__, donc je suppose que cette erreur est due au fait que le QtGui.QGraphicsPixmapItem n'est pas copié.Copie profonde d'un objet python dérivé

Comment est-ce que je précise cela? Tout ce que je sais, c'est qu'il existe une méthode __deepcopy__ à cette fin.

Répondre

3

QGraphicsPixmapItem n'est pas recopiable. Il hérite QGraphicsItem qui est déclaré en utilisant la macro Q_DISABLE_COPY qui est le même mécanisme utilisé pour QObjects pour désactiver la copie. The documentation explains it a bit better.

Questions connexes