QT学习笔记2--对象树

文章介绍了Qt中的对象树概念,以QWidet为例,展示了对象在析构时如何按照从子到父的顺序进行。创建了一个名为pushbotton的自定义按钮类,扩展了QPushButton,并在析构时打印特定信息以验证析构顺序。在MainWindow类中实例化pushbotton,当窗口关闭时,先析构子类对象,然后才是父类对象。
摘要由CSDN通过智能技术生成

对象树

 可以看到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;
}

运行结果

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苦瓜人生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值