我想知道...如果我分配一个图形场景
QGraphicsScene* scene = new QGraphicsScene();
并将其与图形 View 相关联
this->ui->graphicsView->setScene(scene);
图形 View 是否拥有场景的所有权?换句话说,图形 View 是在其析构函数中删除场景还是我应该自己删除场景?
最佳答案
答案是否。
这是因为 Qt 可以在多个 View 中显示一个模型(在本例中为 QGraphicsScene
),这是每个模型/ View 框架的标准功能。
QGrahpicsView::setScene()
的文档缺少有关场景所有权发生的情况的信息,但情况与其他 View 相同;例如来自 void QWebView::setPage ( QWebPage * page )
的文档
The parent QObject of the provided page remains the owner of the object. If the current document is a child of the web view, it will be deleted.
关于c++ - QGraphicsView 是否拥有其关联图形场景的所有权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4955743/