qgraphicsPixMapiTem不喜欢从qobject继承的其他QT对象。当它的父母销毁时,它不能被破坏。使用它的唯一方法是我自己删除指针吗?
......
QGraphicsPixmapItem * backGround = new QGraphicsPixmapItem(QPixmap::fromImage(this->mat2QImage(img)), NULL);
this->scene->addItem(backGround);
ui.imgDisplay->setScene(scene);
ui.imgDisplay->show();
......
// delete by myself
delete backGround;
// why can not I set the parent of the QGraphicsPixmapItem to QGraphicsScene
// when QGraphicsScene destroy, QGraphicsPixmapItem under QGraphicsScene automatically destroy.
QGraphicsPixmapItem
从 QGraphicsItem
继承,而不是 QObject
。
删除场景时删除了QgraphicsItem
。它还将删除所有孩子。因此,您没有删除自己的物品。
如果您想要基于QObject
的图形项,则应查看QGraphicsObject
。