2011-02-10 32 views
4

我想知道......如果我分配一個圖形場景QGraphicsView是否擁有其相關圖形場景的所有權?

QGraphicsScene* scene = new QGraphicsScene(); 

和準其與圖形視圖

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

做圖形查看拍攝的場景的所有權?換句話說,圖形視圖是否在其析構函數中刪除了場景,還是應該自己刪除場景?

+0

`this-> ui-> graphicsView`的類型是[`QGraphicsView`](http://doc.qt.nokia.com/latest/qgraphicsview.html)`*`,正確嗎? – 2011-02-10 10:18:15

回答

3

答案是no
這是因爲Qt可以在許多視圖中顯示一個模型(在這種情況下爲QGraphicsScene),這是每個模型/視圖框架的標準功能。

QGrahpicsView::setScene()的文檔缺乏關於場景所有權會發生什麼情況的信息,但情況與其他觀點相同;例如來自文檔的void QWebView::setPage (QWebPage * page)

提供的頁面的父QObject仍然是對象的所有者。 如果當前文檔是 的web視圖的子項,它將被刪除。

相關問題