【问题标题】:Parent passed to QPushButton's constructorParent 传递给 QPushButton 的构造函数
【发布时间】:2011-08-17 16:53:25
【问题描述】:

我一直在关注这个帖子:Memory management in Qt?

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

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

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

【问题讨论】:

    标签: qt


    【解决方案1】:

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

    再见

    【讨论】:

      【解决方案2】:

      注意,this 不是指QPushButton

      这行代码:

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

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

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

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

      【讨论】:

      • 非常感谢,button1 = new QPushButton("Button1", this); 这一行在我定义的类中,所以这意味着在这种情况下我的类是按钮的父类!我的理解正确吗?
      • 那么每个小部件是否都接受一个 qwidget 指针来将其设置为它的父级?我是新手
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-07
      • 2011-09-24
      • 2012-01-15
      • 1970-01-01
      • 1970-01-01
      • 2011-09-05
      相关资源
      最近更新 更多