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

展开网站建设100个免费推广网站下载

展开网站建设,100个免费推广网站下载,WordPress论坛推广插件,公司网站建站要多少钱QObject是Qt里边绝大部分类的根类 QObject对象之间是以对象树的形式组织起来的。 当两个QObject#xff08;或子类#xff09;的对象建立了父子关系的时候。子对象就会加入到父对象的一个成员变量叫children#xff08;孩子#xff09;的list#xff08;列表#xff09;…QObject是Qt里边绝大部分类的根类 QObject对象之间是以对象树的形式组织起来的。 当两个QObject或子类的对象建立了父子关系的时候。子对象就会加入到父对象的一个成员变量叫children孩子的list列表中。当父对象析构的时候这个列表中的所有对象也会被析构。注意这里是说父对象和子对象不要理解成父类和子类QWidget是能够在屏幕上显示的一切组件的父类 QWidget继承自QObject因此也继承了这种对象树关系。一个孩子自动地成为父组件的一个子组件。我们向某个窗口中添加了一个按钮或者其他控件建立父子关系当用户关闭这个窗口的时候该窗口就会被析构之前添加到他上边的按钮和其他控件也会被一同析构。这个结果也是我们开发人员所期望的。当然我们也可以手动删除子对象。当子对象析构的时候会发出一个信号destroyed父对象收到这个信号之后就会从children列表中将它剔除。比如当我们删除了一个按钮时其所在的主窗口会自动将该按钮从其子对象列表children中删除并且自动调整屏幕显示按钮在屏幕上消失。当这个窗口析构的时候children列表里边已经没有这个按钮子对象所以我们手动删除也不会引起程序错误。 Qt 引入对象树的概念在一定程度上解决了内存问题。 对象树中对象的顺序是没有定义的。这意味着销毁这些对象的顺序也是未定义的。任何对象树中的 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.dnsts.com.cn/news/120121.html

相关文章:

  • dw可以做网站后台吗百度投票人气排行榜入口
  • 做计划网站个人网址怎么填写
  • 广告行业做网站哪个好最新个人注册公司流程
  • 公司网站建设 阿里网络规划设计师考试科目
  • 衡水企业网站制作报价在深圳市住房和建设局网站
  • 网站开发需求确认书中国能源建设集团有限公司官网
  • 国外做游戏评测的视频网站公司名称注册查询网
  • 做外贸网站商城网站设置首页连接分类页的视频教程
  • php网站开发试题及答案公司建立网站用于业务
  • 东莞市官网网站建设公司新手如何学代码
  • 河北网站建设哪家公司好最专业汽车网站建设
  • 做的比较好的网站有哪些军事网站模板下载
  • 怎么免费建立个人网站北京智能网站建设制作
  • 移动端网站生成器seo推广一年要多少钱
  • 建设网站的企业邮箱个人网站设计案例
  • 大庆门户网站房源信息网
  • 国际要闻时事快报seo优化与sem推广有什么关系
  • 网站的后台地址wordpress 商城聊天
  • 建设网站需要掌握什么编程语言如何再腾讯云服务器做网站
  • 其它类型的定制营销型网站为什么网站不见了
  • 网站建设经济可行性万网虚拟主机两个网站
  • 哈尔滨电子网站建设大一html网页制作
  • 购物网站功能报价网站策划与建设阶段应该做什么
  • 如何做营销型网站做企业网站需要的人
  • app与网站数据交互他达拉非片正确服用方法
  • 做网页怎么在网站播放视频成立公司需要几个股东
  • 做dm页网站制作网站的模板下载
  • 签订网站制作合同注意事项物流管理系统
  • 检测网站为什么打不开了珠海个人建站模板
  • 乐云seo网站建设性价比高seo网络推广排名