如何从另一个Qwidget中删除小部件?

时间:2010-10-15 05:22:57

标签: qt

我创建了一个QWidget(Parent)。在父窗口小部件的内部,我创建了另一个QWidget(Child)。在运行时我需要删除子窗口小部件。怎么做?

我没有使用任何布局。我正在直接放入Parent Widget。

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:5)

如果您使用例如:

添加小部件
QWidget *w = new QWidget(parent);

...然后你可以用:

删除它
delete w;

另一种方法是隐藏它:

w->hide();

答案 1 :(得分:0)

此答案适用于那些来自搜索引擎的用户,并且想要标题中所述问题的答案。

如果要从父级中删除子级而不删除或隐藏子级(不会从父级中删除子级),请将子级的父级设置为NULL

QWidget::setParent(NULL)

请注意,像这样显式重设小部件的父级会带来多种影响(例如,可见性自动设置为隐藏)。有关更多信息,请参见QWidgets documentation