Question

Je crée actuellement un programme dans Qt, OpenCV, Mac OS X. J'ai une fenêtre principale, puis une fenêtre séparée qui est ouverte. Je passe la nouvelle fenêtre plusieurs clones de la matrice dans le constructeur:

ImageWindow *imageWin = new ImageWindow( 
   cvCloneMat(getData->getMasterRawMat(1)), 
   cvCloneMat(getData->getMasterRawMat(2)), 
   cvCloneMat(getData->getMasterRawMat(3)), 
   cvCloneMat(getData->getMasterRawMat(4)) );
imageWin->show();

Comment puis-je DEALLOCATE (où dois-je appeler cvReleaseMat), lorsque la nouvelle fenêtre est fermée?

Était-ce utile?

La solution

Vous pouvez le faire en exemple closeEvent () . Sinon, si vous utilisez Qt :: WA_DeleteOnClose votre attributs un widget , le widget sera supprimé quand il est fermé, ce qui signifie que vous pouvez placer une Clean- les routines du destructor.

Autres conseils

Pensez à utiliser RAII idiome et pointeurs intelligents et vous ne serez pas besoin de se rappeler quand pour libérer la mémoire allouée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top