我一直关注此主题:Memory management in Qt?
QPushButton::QPushButton ( const QString & text, QWidget * parent = 0 )
因此,在一个例子中,我看到了以下创建按钮对象的方法。我担心的是第二个参数“parent”,这个指针已经传递到那里,是否意味着这个小部件是它自己的父节点?我知道我错过了一点,请指出。
button1 = new QPushButton("Button1", this);
答案 0 :(得分:7)
请注意,this
未引用QPushButton
。
这行代码:
button1 = new QPushButton("Button1", this);
可能是基于QWidget
的类的一部分,而this
指的是这个类!
这意味着基于QWidget
的类是它正在显示的QPushButton
的所有者。
这也意味着当删除基于QWidget
的类的实例时,它将删除其所有子元素,这意味着QPushButton
button1也将被自动删除。
答案 1 :(得分:-1)
是的,您在此处设置的父级是您的小部件,您在几乎任何GUI框架的控件上使用父参数来了解控件的位置。
见到你