4

グラフィックシーンを割り当てたら…

QGraphicsScene* scene = new QGraphicsScene();

グラフィックビューに関連付けます

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

グラフィックビューはシーンの所有権を取得しますか?つまり、グラフィックビューはデストラクタのシーンを削除しますか、それとも自分でシーンを削除する必要がありますか?

4

1 に答える 1

3

答えはノーです。
これは、Qtを使用するとQGraphicsScene、すべてのモデル/ビューフレームワークの標準機能である1つのモデル(この場合)を多くのビューに表示できるためです。

ドキュメントにQGrahpicsView::setScene()は、シーンの所有権がどうなるかについての情報が不足していますが、状況は他のビューと同じです。たとえば、void QWebView::setPage ( QWebPage * page )

提供されたページの親QObjectは、オブジェクトの所有者のままです。現在のドキュメントがWebビューの子である場合、そのドキュメントは削除されます。

于 2011-02-10T11:11:17.710 に答える