父传递给QPushButton的构造函数

时间:2011-05-03 12:52:20

标签: qt

我一直关注此主题:Memory management in Qt?

QPushButton::QPushButton ( const QString & text, QWidget * parent = 0 )

因此,在一个例子中,我看到了以下创建按钮对象的方法。我担心的是第二个参数“parent”,这个指针已经传递到那里,是否意味着这个小部件是它自己的父节点?我知道我错过了一点,请指出。

button1 = new QPushButton("Button1", this);

2 个答案:

答案 0 :(得分:7)

请注意,this未引用QPushButton

这行代码:

button1 = new QPushButton("Button1", this);

可能是基于QWidget的类的一部分,而this指的是这个类!

这意味着基于QWidget的类是它正在显示的QPushButton的所有者。

这也意味着当删除基于QWidget的类的实例时,它将删除其所有子元素,这意味着QPushButton button1也将被自动删除。

答案 1 :(得分:-1)

是的,您在此处设置的父级是您的小部件,您在几乎任何GUI框架的控件上使用父参数来了解控件的位置。

见到你