使用QT做GUI是第一次,也是第一次测内存出现这么多问题,小小总结下
1. QIcon
setIcon(QIcon("path")) valgrind一直报memory loss;
修改为setIcon(QIcon(QPixmap("path")))问题解决
2. QHBoxLayout/QVBoxLayout
在QDialog中使用QHBoxLayout/QVBoxLayout进行布局,并将其parent指定为dialog。对话框布局失败;
将parent指定为NULL,手动delete其对象,问题解决
3. QGraphicsView
setScene(scene)该处报出memory loss;
避开setScene()函数,在new QGraphicsView()时指定scene,问题解决
4. QTreeWidgetItem
QTreeWidgetItem::removeChild(item)只是将item从其children列表中移除,并没有delete item;
该点要注意吃了很大的亏
5. QApplication
valgrind报出memory loss不在我的代码中,但无论怎么修改一直存在;
最后各种百度,得到一个结论:如果内存泄漏不在你的代码中,并且看起来不会随着时间的推移变得越来越大(而且这些天重要的是兆兆字节),和/或显然是从初始化设置代码只有在您的应用程序中曾经被调用过一次,那么不要担心.这可能是故意的.
https://blog.csdn.net/Rosa_zz/article/details/106122556
所以不管他了