我知道,当QObject
被摧毁时,它也会摧毁它的所有孩子。但是,在我最近的所有Qt代码中,我一直在声明任何类的成员(例如,QMainWindow
)作为直接成员,而不是指针成员,这使得Qt的内存管理很少(如果有的话)有用
那么,QObjects
的这个育儿属性是用于别的吗? 从文档中,不清楚(当您向布局添加窗口小部件时,their parent will be set to the parent of the layout ,正如thuga所指出的那样。)QBoxLayout::addWidget()
是否取得了窗口小部件的所有权(我认为它没有)。
答案 0 :(得分:3)
还有其他一些用途:
moveToThread()
时,整个对象树会被移动,而不仅仅是被推送的对象(否则,内存管理变得不可能); QWidget
使用新语义扩展父/子关系,例如: