Qt规定 对象树

持续整理

规定

  1. Qt中,每个类都有一个对应同名的头文件,在C++98当中,使用新的头文件写法,代替原有的.h风格的头文件。

  2. 如果需要使用容器类,可以使用标准库容器,也可以使用Qt容器类,不过Qt原生的API中,涉及到的接口,都是使用Qt自己的容器,不过Qt的容器可能更好用一些。

  3. qDebug()<<QString("xxx"); 自动处理编码方式,并且还可以统一进行关闭。

对象树

一般创建对象的时候,一般在堆上创建,并且可以指定一个父对象。例如:

1
2
Qlaber* label = new Qlabel(this);
//给当前这个对象添加一个this指针,指定一个“父对象”。

以上的代码,laber对象会在适合的地方被析构释放,主要是因为这个对象被挂到了对象数上。

对象树的作用

在Qt中引入对象树主要是为了实现对象的层次化管理和自动内存管理。

  1. 层次化管理

    • Qt中的对象之间存在父子关系,这种关系构成了对象树。例如,在一个复杂的GUI(图形用户界面)应用程序中,一个主窗口对象可能包含多个子窗口对象、控件对象(如按钮、文本框等)。
  2. 自动内存管理

    • 如果创建了一个主窗口对象,并且在这个主窗口中创建了很多控件对象作为其子对象。当主窗口被关闭(即销毁)时,Qt框架会自动销毁这些控件对象,开发人员不需要手动去删除这些子对象,避免了内存泄漏的风险。

Qt规定 对象树
https://weihehe.top/2025/06/23/Qt规定/
作者
weihehe
发布于
2025年6月23日
许可协议