对象树

可以看到QWidet这几个类的父亲是QObject,在析构的时候是从下往上析构。
实例
创建类
验证的话,要先创建一个类,命名为pushbotton。

点击choose创建,类。
编写相关函数
构造函数
pushbotton::pushbotton(QWidget *parent) : QPushButton(parent)
{
    qDebug()<<"自己的";
}析构函数
pushbotton::~pushbotton()
{
    qDebug()<<"别人的";
}头文件
#ifndef PUSHBOTTON_H
#define PUSHBOTTON_H
#include <QPushButton>
class pushbotton : public QPushButton
{
public:
    pushbotton(QWidget * parent = 0);
    ~pushbotton();
};
#endif // PUSHBOTTON_HQWidegt
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
     pushbotton *mybtn = new pushbotton;
     mybtn->setParent(this);
     mybtn->setText("第5个");
     mybtn->move(80,60);
     resize(200,200);
}
MainWindow::~MainWindow()
{
    qDebug()<<"jieshu";
    delete ui;
}运行结果

分析:析构函数函数先进入父类,执行相关任务,执行结束后,查看有没有子类,先析构子类,由下往上,逐步析构。


















