我创建了一个QWidget(父).在父窗口小部件的内部,我创建了另一个QWidget(Child).在运行时我需要删除子窗口小部件.怎么做?
我没有使用任何布局.我直接放入Parent Widget.
请帮我解决这个问题.
此答案适用于那些从搜索引擎到达并想要标题中所述问题的答案的人。
如果您想从父级中删除子级而不删除它或隐藏它(这不会将其从父级中删除),请将子级的父级设置为NULL。
QWidget::setParent(NULL)
Run Code Online (Sandbox Code Playgroud)
请注意,像这样显式重新设置窗口小部件的父级会带来多种影响(例如,可见性自动设置为隐藏)。请参阅QWidgets 文档以获取更多信息。
如果您添加小部件,例如:
QWidget *w = new QWidget(parent);
Run Code Online (Sandbox Code Playgroud)
...然后你可以删除它:
delete w;
Run Code Online (Sandbox Code Playgroud)
另一种方法是隐藏它:
w->hide();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14294 次 |
| 最近记录: |