QT对象间可以存在父子关系:
1、每一个对象都保存有它所有子对象的指针
2、每一个对象都有一个指向其父对象的指针
其关系如下图所示:
当指定QT对象的父对象时,其父对象会在子对象链中表中会加入该对象的指针,该对象会保存指向其父对象的指针。
我们在QT中创建了3个 QObject 对象,我们让 c1、c2 的父对象指向 p,那么我们打印 c1 和 c2 的地址以及 p 的子对象链表里的地址。如下所示:
打印的结果如下:
事实证明了确实如我们所想的那样,QT对象间可以存在父子关系。
那么当Qt对象被销毁时,又会是怎样的情况
1、每一个对象都保存有它所有子对象的指针
2、每一个对象都有一个指向其父对象的指针
其关系如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/0f4540811554f83829d3af83945eb74a.png)
当指定QT对象的父对象时,其父对象会在子对象链中表中会加入该对象的指针,该对象会保存指向其父对象的指针。
我们在QT中创建了3个 QObject 对象,我们让 c1、c2 的父对象指向 p,那么我们打印 c1 和 c2 的地址以及 p 的子对象链表里的地址。如下所示:
![](https://i-blog.csdnimg.cn/blog_migrate/4d25f8e339aeadb44b931174e8488ed7.png)
打印的结果如下:
![](https://i-blog.csdnimg.cn/blog_migrate/beca4f212cf2c2ad305d3b95f1a46135.png)
事实证明了确实如我们所想的那样,QT对象间可以存在父子关系。
那么当Qt对象被销毁时,又会是怎样的情况