QT之GUI学习笔记--parent参数
2017-03-21 16:08
267 查看
原文地址: http://devbean.blog.51cto.com/448512/214166
2.很多情况下它都会有一个初始值0,因此,即便你不去给它复制也没有丝毫的问题。
3.parent参数的
(1)作用一:指定组件是不是父组件
对于一个对话框来说,对话框一般是不作为顶层容器出现的,因此在任务栏上一般是没有对话框的位置的。
怎么指定这个对话框不是顶层容器呢?有父组件的组件不就不是顶层容器了吗?
只要你指定对话框的parent属性,任务栏就不会出现它的身影。当然,如果你不指定,这个对话框就成为顶层容器了,任务栏会给它留个位置的——利用这个特性,就可以实现特殊对话框可以在任务栏出现的效果,比如“关于”对话框的出现。
(2)作用二:
parent参数指明了组件的父组件。
当父组件删除时,Qt可以保证所有子组件——也就是parent指针指向这个组件的所有组件——都会被正确的delete掉,这是Qt能够帮助我们管理一部分内存的原因所在。
实现方式: 遍历parent属性来防止了这一部分内存泄漏的。
因此,必要情况下还是不要忘记设置这个parent属性。当然,如果你不声明这个属性,当整个程序关闭时,操作系统会回收内存——因此我们所说的内存泄漏一般是指我们自己写的应用程序的内部,而不会影响到整个操作系统。
一.几乎所有的Qt类的构造函数都会有一个parent参数。
1.这个参数通常是QObject* 或者是 QWidget* 类型的。2.很多情况下它都会有一个初始值0,因此,即便你不去给它复制也没有丝毫的问题。
3.parent参数的
(1)作用一:指定组件是不是父组件
对于一个对话框来说,对话框一般是不作为顶层容器出现的,因此在任务栏上一般是没有对话框的位置的。
怎么指定这个对话框不是顶层容器呢?有父组件的组件不就不是顶层容器了吗?
只要你指定对话框的parent属性,任务栏就不会出现它的身影。当然,如果你不指定,这个对话框就成为顶层容器了,任务栏会给它留个位置的——利用这个特性,就可以实现特殊对话框可以在任务栏出现的效果,比如“关于”对话框的出现。
(2)作用二:
parent参数指明了组件的父组件。
当父组件删除时,Qt可以保证所有子组件——也就是parent指针指向这个组件的所有组件——都会被正确的delete掉,这是Qt能够帮助我们管理一部分内存的原因所在。
实现方式: 遍历parent属性来防止了这一部分内存泄漏的。
因此,必要情况下还是不要忘记设置这个parent属性。当然,如果你不声明这个属性,当整个程序关闭时,操作系统会回收内存——因此我们所说的内存泄漏一般是指我们自己写的应用程序的内部,而不会影响到整个操作系统。
相关文章推荐
- Python之学习笔记(QT:GUI设计)
- QT之GUI学习笔记(三)——API文档的使用
- QT之GUI学习笔记---二进制文件读写
- QT之GUI学习笔记(十四) -----事件(event)
- QT之GUI学习笔记---拖放技术(一)
- Qt学习之parent参数
- Qt 学习之路(tip): parent 参数
- QT之GUI学习笔记(二十)---反走样
- QT之GUI学习笔记---文本文件读写
- QT之GUI学习笔记(十六)---event()
- QT之GUI学习笔记(二)——信号槽机制
- QT之GUI学习笔记(九)----状态栏
- QT之GUI学习笔记(五)---信号槽
- QT之GUI学习笔记(二十二)---坐标变换
- Qt学习笔记之GUI基本知识
- QT之GUI学习笔记(三)——组件布局
- QT之GUI学习笔记(七)----菜单和工具栏
- QT之GUI学习笔记(八)----菜单和工具条的优化
- QT之GUI学习笔记(二十四)---Graphics View Framework
- QT之GUI学习笔记(十五)----事件接收与忽略