QT学习笔记

系列文章目录

QT学习笔记--对象树



前言

QT对象树是QT拥有的一个机制,减少了我们在GUI界面开发的工作量。


一、对象树机制介绍

QT Object Trees & Ownership文档原文介绍:

QObjects organize themselves in object trees. When you create a QObject with another object as parent, it's added to the parent's children() list, and is deleted when the parent is. It turns out that this approach fits the needs of GUI objects very well. For example, a QShortcut (keyboard shortcut) is a child of the relevant window, so when the user closes that window, the shortcut is deleted too.

        根据上述文档内容,我们可知:在QT中,当对象A已对象B为父亲时,对象B的children表会添加上对象A。当对象B结束时,对象A也会结束。这就是QT的对象树机制。

二、检验QT对象树机制

1.添加一个Mclass类(以Widget为基类)

1.在mclass.cpp文件中创建一个析构函数:

QMclass::~QMclass(){
    QDebug<<"delete myclass";
}

2.在widget.cpp文件中创建一个mclass对象

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    QMclass *myclass = new QMclass(this);
}

3.在运行该程序,当我们关闭窗口时,控制台会输出delete myclass,由此我们可以验证QT的对象树机制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值