对象树
可以看到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_H
QWidegt
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;
}
运行结果
分析:析构函数函数先进入父类,执行相关任务,执行结束后,查看有没有子类,先析构子类,由下往上,逐步析构。