QtのQGraphicsScene機能に基づいてQtで画像ビューアを作成しています。ImageModelというクラスで各画像のモデルを作成し、ImageViewというクラスで画像の表示を管理しています。ImageViewクラスは次のとおりです(興味深い部分だけです)。
class ImageView
{
public:
ImageView(QWidget *parent);
QGraphicsView * getView() {return view; }
private:
//qgraphics scene elements
QGraphicsScene *scene;
QGraphicsView *view;
QGraphicsPixmapItem *curItem;
};
クラスのコンストラクターは次のとおりです。
ImageView::ImageView(QWidget *parent)
{
//create scene and view with parent the main window
//such that the memory management is done by qt
scene = new QGraphicsScene(parent);
view = new QGraphicsView(parent);
view->setScene(scene);
}
また、QMainWindowの派生にImageViewへのポインターがあります。
私の質問は、メインウィンドウをビューとシーンの親として設定してQtにメモリ管理を行わせるか、それとも自分でメモリ管理を行うか(ビューとシーンを親なしのままにして、クラスで削除するか)です。デストラクタ)?この場合の良い戦略は何ですか?