- Qt 的父一子对象机制是在 QOhject 中实现的。当利用一个父对象创建一个子对象(一个窗口部件,一个检验器,或是任意的其他类型)时,父对象会把这个子对象添加到自己的子对象列表中。当删除这个父对象时,它会遍历子对象列表并且删除每一个子对象。然后,这些子对象再去删除它们自己所包含的每个子对象。如此反复递归调用,直至清空所有子对象为止。这种父-子对象机制可在很大程度上简化内存管理工作,降低内存泄漏的风险。
- 需要明确删除的对象是那些使用new创建的并且没有父对象的对象。
- 如果删除一个父对象之前先删除了它的子对象,Qt会自动从她的父对象的子对象列表中将其移除
- 对于窗口不见,父对象还有另外一层含义:
子窗口部件会显示在它的父对象所在的区域中。当删除这个父窗口部件时,不仅子对象会从内存中消失,而且它也会在屏幕上消失。
Qt中删除对象
最新推荐文章于 2024-02-29 13:48:02 发布