Pregunta

Actualmente estoy creando un programa en Qt, OpenCV, Mac OS X que tiene una ventana principal, y luego una ventana separada que se abre. Paso la nueva ventana de varios clones de la matriz en el constructor:

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

¿Cómo DEALLOCATE (donde hago yo llamo cvReleaseMat), cuando la nueva ventana está cerrada?

¿Fue útil?

Solución

Puede hacer que en, por ejemplo, CloseEvent () . Alternativamente, si se utiliza Qt :: WA_DeleteOnClose para su atributos de widget de , se borrará el widget cuando está cerrado, lo que significa que puede colocar algo limpio- rutinas en el destructor.

Otros consejos

Considere el uso de RAII modismo y punteros inteligentes y usted no tendrá que recordar cuándo liberar la memoria asignada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top