【发布时间】:2010-10-15 05:22:57
【问题描述】:
我创建了一个 QWidget(Parent)。在父小部件的内部,我创建了另一个 QWidget(Child)。在运行时我需要删除子小部件。该怎么做?
我没有使用任何布局。我直接放入 Parent Widget。
请帮我解决这个问题。
【问题讨论】:
标签: qt
我创建了一个 QWidget(Parent)。在父小部件的内部,我创建了另一个 QWidget(Child)。在运行时我需要删除子小部件。该怎么做?
我没有使用任何布局。我直接放入 Parent Widget。
请帮我解决这个问题。
【问题讨论】:
标签: qt
如果您使用例如添加小部件:
QWidget *w = new QWidget(parent);
...然后您可以使用以下命令将其删除:
delete w;
另一种方法是隐藏它:
w->hide();
【讨论】:
此答案适用于那些来自搜索引擎并希望得到标题中所述问题的答案的人。
如果您想从父级中删除子级而不删除或隐藏它(不会将其从父级中删除),请将子级的父级设置为 NULL。
QWidget::setParent(NULL)
请注意,像这样显式地重新设置小部件的父级会带来一些影响(例如,可见性自动设置为隐藏)。请参阅QWidgetsdocumentation 了解更多信息。
【讨论】:
this->ui->myLayout->removeWidget(myWidget); 也已过时。感谢您让我继续我的 web-dev-escapist Qt-app。