c++ - Qt 窗口关闭时如何释放内存?

标签 c++ qt memory-management opencv

我目前正在 Qt、OpenCv、Mac os X 中创建一个程序。我有一个主窗口,然后打开一个单独的窗口。我在构造函数中向新窗口传递了几个矩阵克隆:

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

当新窗口关闭时,我如何释放(我在哪里调用 cvReleaseMat )?

最佳答案

您可以在例如你的closeEvent() .或者,如果您使用 Qt::WA_DeleteOnClose为您的widget attributes , widget 在关闭时将被删除,这意味着您可以在析构函数中放置一些清理例程。

关于c++ - Qt 窗口关闭时如何释放内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/671659/

相关文章:

c++ - Windows下使用MinGW-w64编译Qt5 hello world.cpp文件报 "undefined reference"错误

c++ - 如何将在 OS X 中开发的 Qt 应用程序部署到 Windows?

memory-management - 兆字 (MW) 是什么意思?

c++ - 检测堆栈或堆分配

C++/mysql 连接器 - 对 get_driver_instance 的 undefined reference - 已经尝试过简单的东西

C++ 如何退出 while 循环 recvfrom()

c++ - 参数化查询中的参数计数不匹配

Java手动堆栈分配

c++ - 在 ui 文件中隐藏 QTabWidget 中的单个选项卡 Pane ?

c++ - 如何使 "#using <System.DLL>"在 Qt 中工作?