QGraphicsView是否取得了相关图形场景的所有权?

时间:2011-02-10 10:11:42

标签: c++ qt qgraphicsview

我想知道......如果我分配一个图形场景

QGraphicsScene* scene = new QGraphicsScene();

并将其与图形视图相关联

this->ui->graphicsView->setScene(scene);

图形视图是否取得了场景的所有权?换句话说,图形视图是否会在其析构函数中删除场景,还是应该自己删除场景?

1 个答案:

答案 0 :(得分:3)

答案是 这是因为Qt使得在许多视图中显示一个模型(在这种情况下为QGraphicsScene)成为可能,这是每个模型/视图框架的标准特征。

QGrahpicsView::setScene()的文档缺少有关场景所有权发生情况的信息,但情况与其他观点相同;例如,来自void QWebView::setPage ( QWebPage * page )

的文档
  

提供的页面的父QObject仍然是对象的所有者。   如果当前文件是孩子的   在网页视图中,它将被删除。