为什么QgraphicsPixMapiTem没有SetParent()



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.

QGraphicsPixmapItemQGraphicsItem继承,而不是 QObject

删除场景时删除了QgraphicsItem。它还将删除所有孩子。因此,您没有删除自己的物品。

如果您想要基于QObject的图形项,则应查看QGraphicsObject

相关内容

  • 没有找到相关文章