Qt中的对象树总的来说就是:
一个parent被析构时,会自动delete/析构它所有的children;
一个children被析构时,会自动从他的parent中移除;
举例:(在栈上)新建了一个QMainwindow后,再新建一个QDialog,如果这个dialog是建立在栈上的,那这个程序应该是不会存在什么问题的。倘若这个dialog是建立在堆上的,可能你已经想到会出现什么问题了——内存泄漏,我们没办法去手动delete掉这个dialog。但是如果我们将这个dialog与mainwindow“绑定”,让其成为mainwindow的children,那么通过对象树的机制,在mainwindow被析构时,会预先使他的children——dialog被delete,这就解决了问题。