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

外包做网站公司plc培训机构哪家最好

外包做网站公司,plc培训机构哪家最好,有没有做古装衣服的网站,网址制作二维码QObject是Qt里边绝大部分类的根类 QObject对象之间是以对象树的形式组织起来的。 当两个QObject(或子类)的对象建立了父子关系的时候。子对象就会加入到父对象的一个成员变量叫children(孩子)的list(列表)…

QObject是Qt里边绝大部分类的根类

  1. QObject对象之间是以对象树的形式组织起来的。
    1. 当两个QObject(或子类)的对象建立了父子关系的时候。子对象就会加入到父对象的一个成员变量叫children(孩子)的list(列表)中。
    2. 父对象析构的时候这个列表中的所有对象也会被析构(注意,这里是说父对象和子对象,不要理解成父类和子类)
  2. QWidget是能够在屏幕上显示的一切组件的父类
    1. QWidget继承自QObject,因此也继承了这种对象树关系。一个孩子自动地成为父组件的一个子组件。我们向某个窗口中添加了一个按钮或者其他控件(建立父子关系),当用户关闭这个窗口的时候,该窗口就会被析构,之前添加到他上边的按钮和其他控件也会被一同析构。这个结果也是我们开发人员所期望的。
    2. 当然,我们也可以手动删除子对象。当子对象析构的时候会发出一个信号destroyed,父对象收到这个信号之后就会从children列表中将它剔除。比如,当我们删除了一个按钮时,其所在的主窗口会自动将该按钮从其子对象列表(children)中删除,并且自动调整屏幕显示,按钮在屏幕上消失。当这个窗口析构的时候,children列表里边已经没有这个按钮子对象,所以我们手动删除也不会引起程序错误。

Qt 引入对象树的概念,在一定程度上解决了内存问题。

  1. 对象树中对象的顺序是没有定义的。这意味着,销毁这些对象的顺序也是未定义的。
  2. 任何对象树中的 QObject对象 delete 的时候,如果这个对象有 parent,则自动将其从 parent 的children()列表中删除;如果有孩子,则自动 delete 每一个孩子。Qt 保证没有QObject会被 delete 两次,这是由析构顺序决定的。

如果QObject在栈上创建,Qt 保持同样的行为。正常情况下,这也不会发生什么问题。来看下下面的代码片段:

{QWidget window;QPushButton quit("Quit", &window);}

作为父组件的 window 和作为子组件的 quit 都是QObject的子类(事实上,它们都是QWidget的子类,而QWidget是QObject的子类)。这段代码是正确的,quit 的析构函数不会被调用两次,因为标准 C++要求,局部对象的析构顺序应该按照其创建顺序的相反过程。因此,这段代码在超出作用域时,会先调用 quit 的析构函数,将其从父对象 window 的子对象列表中删除,然后才会再调用 window 的析构函数。

但是,如果我们使用下面的代码:

{QPushButton quit("Quit");QWidget window;quit.setParent(&window);}

情况又有所不同,析构顺序就有了问题。我们看到,在上面的代码中,作为父对象的 window 会首先被析构,因为它是最后一个创建的对象。在析构过程中,它会调用子对象列表中每一个对象的析构函数,也就是说, quit 此时就被析构了。然后,代码继续执行,在 window 析构之后,quit 也会被析构,因为 quit 也是一个局部变量,在超出作用域的时候当然也需要析构。但是,这时候已经是第二次调用 quit 的析构函数了,C++ 不允许调用两次析构函数,因此,程序崩溃了。

由此我们看到,Qt 的对象树机制虽然帮助我们在一定程度上解决了内存问题,但是也引入了一些值得注意的事情。这些细节在今后的开发过程中很可能时不时跳出来烦扰一下,所以,我们最好从开始就养成良好习惯,在 Qt 中,尽量在构造的时候就指定 parent 对象,并且大胆在堆上创建。

http://www.tj-hxxt.cn/news/71596.html

相关文章:

  • 帮企业做网站赚钱吗域名是什么意思呢
  • 武汉网站制作开发网络宣传怎么做
  • 看国外网站如何做科普百度搜索怎么优化
  • 石狮网站建设哪家好seo链接优化
  • 浙江国泰建设集团有限公司网站巨量算数数据分析
  • 杭州做网站外包公司上海品牌推广公司
  • 杭州做网站制作百度指数可以查询到哪些内容
  • 江南大学做网站百度2022年版本下载
  • 英德市建设及城乡管理局网站微营销官网
  • 百度给企业做网站吗免费发外链
  • 如何做带后台的网站软文平台有哪些
  • 河南外贸网站建设百度怎么精准搜关键词
  • 郑州快速建站价格武汉seo和网络推广
  • 外链设置方案爱站网seo工具
  • 打开自己的网站是别人的域网站推广软件免费
  • 做书籍的网站营销网络是什么
  • 政府机关网站建设的依据晋城今日头条新闻
  • 东莞企业建设网站官网有限公司seo手机关键词排行推广
  • dw做网站一般是多大的尺寸百度app下载安装普通下载
  • 非标自动化外包平台天津seo博客
  • 政府网站建设方案 ppt移动端优化
  • 常州专门做网站的公司有哪些百度预测大数据官网
  • 深圳市门户网站建设企业如何使用网络营销策略
  • 网站运营分析竞争对手珠海百度关键词优化
  • 男女做暖暖不要钱的试看网站网销怎么做
  • 查看网站是否备案外包公司的优势和劣势
  • 如何做企业套模网站整站优化和关键词优化的区别
  • 青海旅游的网站建设江西优化中心
  • 小程序开发需要多少钱江苏seo和网络推广
  • 自己有服务器如何建设微网站百度信息流