Pergunta

Atualmente, estou criando um programa no QT, OpenCV, Mac OS X. Tenho uma janela principal e, em seguida, uma janela separada aberta. Passo na nova janela vários clones de matriz no construtor:

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

Como faço para negociar (onde eu chamo CVRELEASEMAT), quando a nova janela está fechada?

Foi útil?

Solução

Você pode fazer isso em por exemplo, seu CloseEvent (). Alternativamente, se você usar Qt :: wa_deleteOnclose Para o seu Atributos do widget, o widget será excluído quando estiver fechado, o que significa que você pode colocar algumas rotinas de limpeza no destruidor.

Outras dicas

Considere usar Raii idioma e Ponteiros inteligentes E você não precisará se lembrar de quando liberar memória alocada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top