Qt中删除对象

来源:互联网 发布:仁爱路99号碧格网络 编辑:程序博客网 时间:2024/05/21 19:49
  1. Qt 的父一子对象机制是在 QOhject 中实现的。当利用一个父对象创建一个子对象(一个窗口部件,一个检验器,或是任意的其他类型)时,父对象会把这个子对象添加到自己的子对象列表中。当删除这个父对象时,它会遍历子对象列表并且删除每一个子对象。然后,这些子对象再去删除它们自己所包含的每个子对象。如此反复递归调用,直至清空所有子对象为止。这种父-子对象机制可在很大程度上简化内存管理工作,降低内存泄漏的风险。
  2. 需要明确删除的对象是那些使用new创建的并且没有父对象的对象。
  3. 如果删除一个父对象之前先删除了它的子对象,Qt会自动从她的父对象的子对象列表中将其移除
  4. 对于窗口不见,父对象还有另外一层含义:
    子窗口部件会显示在它的父对象所在的区域中。当删除这个父窗口部件时,不仅子对象会从内存中消失,而且它也会在屏幕上消失。