我想知道......如果我分配一个图形场景
QGraphicsScene* scene = new QGraphicsScene();
并将其与图形视图相关联
this->ui->graphicsView->setScene(scene);
图形视图是否取得了场景的所有权?换句话说,图形视图是否会在其析构函数中删除场景,还是应该自己删除场景?
答案 0 :(得分:3)
答案是否
这是因为Qt使得在许多视图中显示一个模型(在这种情况下为QGraphicsScene
)成为可能,这是每个模型/视图框架的标准特征。
QGrahpicsView::setScene()
的文档缺少有关场景所有权发生情况的信息,但情况与其他观点相同;例如,来自void QWebView::setPage ( QWebPage * page )
提供的页面的父QObject仍然是对象的所有者。 如果当前文件是孩子的 在网页视图中,它将被删除。