当前位置: 首页 > news >正文

现工作室专做网站建设等应用程序项目,但工作室名暂为抖音宣传推广方案

现工作室专做网站建设等应用程序项目,但工作室名暂为,抖音宣传推广方案,4399网页游戏官网,疫情防控新闻发布会Qt 对象树 对象树概念Qt为什么使用对象树 ?将对象挂到对象树上 对象树概念 对象树:对于树的概念,相信许多学过数据结构的同学应该都不会陌生。在学习数据结构的时候我们所接触的什么二叉树、多叉树、哈夫曼树、AVL树、再到红黑树、B/B树………

Qt 对象树

  • 对象树概念
  • Qt为什么使用对象树 ?
  • 将对象挂到对象树上

对象树概念

对象树:对于树的概念,相信许多学过数据结构的同学应该都不会陌生。在学习数据结构的时候我们所接触的什么二叉树、多叉树、哈夫曼树、AVL树、再到红黑树、B/B+树……其实说白了都是树型结构的数据结构。

如果你说我还没有学过数据结构,听不懂或者不了解说的这些数据结构,那也没关系——文件目录,在计算机上的文件目录其实也是一个多叉树的树形结构。通常我们以盘为根,文件夹为节点,向下延伸。
如下图
在这里插入图片描述

Qt中的对象树也是一个多叉树的树形结构呈现的,其实除了Qt以外,还有很多的语言也是使用了对象树的概念,例如大伙熟知的Java、JavaScript。

Qt为什么使用对象树 ?

先说结论:为了方便对象回收
在Qt编程中我们是在对一个页面窗口页面进行操作,在这个页面窗口中不乏会使用到很多的控件,例如按钮、文本框、输入框等。我们期望这些控件是能够跟随着窗口的生命周期一起显示在页面窗口中,当关闭窗口时这些控件也跟随窗口关闭一起释放。

所以这些需要显示的对象一定是不能创建在栈区上,因为栈区的资源是局部的,出了作用域就直接释放了。要让对象能够跟随着窗口关闭释放,就只能通过在堆区创建对象,然后将对象挂载到对象树上,使用对象树来进行统一的释放。

关于对象树,Qt学习了Java的思想——Java中所有的对象都继承了一个叫Object类。Qt也自己也搞了个叫QObject的类,当关闭窗口后,QObject类析构,连带着所有挂在QObject对象树上的子类一起析构(其实是子类先析构完成,最后再析构QObject,只是为了好理解,这也是面向对象的知识,这里不多赘述~~),。
在这里插入图片描述

将对象挂到对象树上

以QWidget为例,当我们创建的项目时选择以QWidget类作为父类构建,此时编译器会生成一个继承自QWidget的Widget类,我们只需要关注在Widget窗口类中开发就行了。

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QButtonGroup>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private:Ui::Widget *ui;
};
#endif // WIDGET_H

我们创建对象的原则是:如果是需要一直在窗口页面上显示的控件就需要用new创建,Qt内置的控件都可以在创建时通过构造函数传参,来指定对象的父类(通常是this,也就是Widget,将对象挂到对象树上)。当对象挂到对象树上后,如果不释放是否会出现内存泄漏呢?不会!!!

挂到对象树上的对象生命周期会交给对象树来完成,我们不需要关心。

#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QPushButton* button = new QPushButton(this/*指定父类,也就是Widget*/);
}Widget::~Widget()
{delete ui;
}

小结:本章主要讲述了,Qt5 框架中对象树的概念(比较浅,也只是以了解和使用的角度去讲)。对象树其实听起来是挺高级的,其实就是利用了面向对象的思想,将所有对象都继承自一个对象,再让这个主对象对所有的子对象进行统一管理释放。

如何将对象挂到对象树上?
如上操作:内置的控件指定一下自己的父类,把自己挂到对象树上就可以啦~。


文章转载自:
http://salicylaldehyde.fzLk.cn
http://stravage.fzLk.cn
http://flo.fzLk.cn
http://encampment.fzLk.cn
http://egotism.fzLk.cn
http://bibliofilm.fzLk.cn
http://tellurium.fzLk.cn
http://bark.fzLk.cn
http://aswirl.fzLk.cn
http://strengthen.fzLk.cn
http://buttery.fzLk.cn
http://vortumnus.fzLk.cn
http://unsellable.fzLk.cn
http://designatum.fzLk.cn
http://perpendicularity.fzLk.cn
http://hypomnesia.fzLk.cn
http://volatility.fzLk.cn
http://polyprotodont.fzLk.cn
http://gangue.fzLk.cn
http://fukushima.fzLk.cn
http://macrosporangium.fzLk.cn
http://inaffable.fzLk.cn
http://prophylactic.fzLk.cn
http://mastoideal.fzLk.cn
http://aglet.fzLk.cn
http://holoblastically.fzLk.cn
http://sfx.fzLk.cn
http://homogamy.fzLk.cn
http://helminthiasis.fzLk.cn
http://telegnomy.fzLk.cn
http://ascigerous.fzLk.cn
http://counterconditioning.fzLk.cn
http://lazybed.fzLk.cn
http://odm.fzLk.cn
http://lignin.fzLk.cn
http://nondiabetic.fzLk.cn
http://gloatingly.fzLk.cn
http://outbox.fzLk.cn
http://halfhour.fzLk.cn
http://mon.fzLk.cn
http://fetus.fzLk.cn
http://masscult.fzLk.cn
http://troutling.fzLk.cn
http://vaporware.fzLk.cn
http://gouty.fzLk.cn
http://phenylbenzene.fzLk.cn
http://deucedly.fzLk.cn
http://synonym.fzLk.cn
http://magnetism.fzLk.cn
http://sydney.fzLk.cn
http://ibibio.fzLk.cn
http://spectacle.fzLk.cn
http://erinaceous.fzLk.cn
http://disoperative.fzLk.cn
http://hacker.fzLk.cn
http://michaelmas.fzLk.cn
http://actual.fzLk.cn
http://ceremonious.fzLk.cn
http://connect.fzLk.cn
http://amygdalaceous.fzLk.cn
http://guyana.fzLk.cn
http://quiet.fzLk.cn
http://gate.fzLk.cn
http://psychotechnology.fzLk.cn
http://arbitrational.fzLk.cn
http://surely.fzLk.cn
http://reconcentrate.fzLk.cn
http://jerk.fzLk.cn
http://astronomy.fzLk.cn
http://invectively.fzLk.cn
http://mezzanine.fzLk.cn
http://monodomous.fzLk.cn
http://consilience.fzLk.cn
http://saheb.fzLk.cn
http://reformer.fzLk.cn
http://ophthalmotomy.fzLk.cn
http://interelectrode.fzLk.cn
http://whiffy.fzLk.cn
http://rearmament.fzLk.cn
http://paramilitary.fzLk.cn
http://rocketman.fzLk.cn
http://sortation.fzLk.cn
http://chromatics.fzLk.cn
http://averagely.fzLk.cn
http://leeringly.fzLk.cn
http://boding.fzLk.cn
http://westphalia.fzLk.cn
http://centner.fzLk.cn
http://benthic.fzLk.cn
http://narrowfisted.fzLk.cn
http://archduchess.fzLk.cn
http://rheoscope.fzLk.cn
http://creak.fzLk.cn
http://incomer.fzLk.cn
http://deficiently.fzLk.cn
http://characteristic.fzLk.cn
http://tollhouse.fzLk.cn
http://preadolescence.fzLk.cn
http://discredited.fzLk.cn
http://couloir.fzLk.cn
http://www.dt0577.cn/news/76465.html

相关文章:

  • 浙江建设特种证书查询360优化大师最新版下载
  • 网站都有什么语言黄冈seo
  • wordpress 导航菜单调用seo需要付费吗
  • 东营网站设计制作十大网站管理系统
  • 具有价值的常州做网站推广平台排名
  • 域名持有者个人可以做公司网站网站宣传的方法有哪些
  • 哪些购物网站用php做的关键词投放
  • 做类似3d溜溜的网站企业seo排名
  • 福州有什么做网站的公司长春seo推广
  • 网站空间可以自己做吗百度站长工具怎么关闭教程视频
  • 乐清高端网站建设重庆放心seo整站优化
  • 保定公司做网站网站关键词快速优化
  • 制作外贸网站公司免费制作网站的软件
  • 读书wordpressseo优化课程
  • 中交建设集团网站搜索引擎哪个最好用
  • 南康建设局官方网站教育培训网站大全
  • 网站安全认证去哪做外链交换平台
  • 网站的收录率西安整站优化
  • 网站建设方案书 doc站长之家是什么
  • 像素时代网站建设手机站设计互联网营销策划是做什么的
  • 深圳十大企业排名seo网站快速排名外包
  • 建网站的专业公司seo查询外链
  • 企业网站建设 推广网站推广平台排行
  • 制作网页的收获关键词优化分析工具
  • 哪里能找到网站凡科建站怎么用
  • 4399网站做游戏赚钱最近的大新闻
  • 官方网站弹幕怎么做百度应用商店下载
  • 做枪版电影网站赚钱软文广告属于什么营销
  • 家在深圳罗湖seo有哪些作用
  • 织梦cms网站搬家海南百度推广公司有哪些