我创建了一个QWidget(Parent)。在父窗口小部件的内部,我创建了另一个QWidget(Child)。在运行时我需要删除子窗口小部件。怎么做?
我没有使用任何布局。我正在直接放入Parent Widget。
请帮我解决这个问题。
答案 0 :(得分:5)
如果您使用例如:
添加小部件QWidget *w = new QWidget(parent);
...然后你可以用:
删除它delete w;
另一种方法是隐藏它:
w->hide();
答案 1 :(得分:0)
此答案适用于那些来自搜索引擎的用户,并且想要标题中所述问题的答案。
如果要从父级中删除子级而不删除或隐藏子级(不会从父级中删除子级),请将子级的父级设置为NULL
。
QWidget::setParent(NULL)
请注意,像这样显式重设小部件的父级会带来多种影响(例如,可见性自动设置为隐藏)。有关更多信息,请参见QWidgets
documentation。