QGraphicsView是否拥有其相关图形场景的所有权?
问题描述:
我想知道......如果我分配一个图形场景QGraphicsView是否拥有其相关图形场景的所有权?
QGraphicsScene* scene = new QGraphicsScene();
和准其与图形视图
this->ui->graphicsView->setScene(scene);
做图形查看拍摄的场景的所有权?换句话说,图形视图是否在其析构函数中删除了场景,还是应该自己删除场景?
答
答案是no。
这是因为Qt可以在许多视图中显示一个模型(在这种情况下为QGraphicsScene
),这是每个模型/视图框架的标准功能。
QGrahpicsView::setScene()
的文档缺乏关于场景所有权会发生什么情况的信息,但情况与其他观点相同;例如来自文档的void QWebView::setPage (QWebPage * page)
提供的页面的父QObject仍然是对象的所有者。 如果当前文档是 的web视图的子项,它将被删除。
`this-> ui-> graphicsView`的类型是[`QGraphicsView`](http://doc.qt.nokia.com/latest/qgraphicsview.html)`*`,正确吗? – 2011-02-10 10:18:15