c++ - QGraphicsView 是否拥有其关联图形场景的所有权?

标签 c++ qt qgraphicsview

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

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/

相关文章:

c++ - QGraphicsView使用鼠标滚轮在鼠标位置下放大和缩小

c++ - 编译器如何处理 const 函数?

c++ - QT4 如何使用静态字段?

c++ - 编译Qt的问题

c++ - Qimage:内存不足,返回空图像

c++ - QGraphicsView 人工制品

c++ - 如何从另一个类中的私有(private)指针指向的类中获取私有(private)信息?

c++ - 是否可以在 C++ 的成员初始化列表中初始化数组?

c++ - 何时在编译时评估constexpr?

c++ - 在qt中的gstreamer视频上覆盖小部件