我创建了一个QWidget(父级)。在父窗口内部,我创建了另一个QWidget(子级)。在运行时,我需要删除子窗口。如何做到这一点?
我没有使用任何布局,直接放置在父窗口中。
请帮助我解决这个问题。
我没有使用任何布局,直接放置在父窗口中。
请帮助我解决这个问题。
If you add the widget with e.g.:
QWidget *w = new QWidget(parent);
如果你想要移除它,可以使用以下方法:
delete w;
另一种方法是将其隐藏:
w->hide();
这个答案适用于那些通过搜索引擎到达并想要回答标题中提出的问题的人。
如果您想从父对象中移除子对象而又不想删除或隐藏它(这并不会将其从其父对象中移除),请将子对象的父级设置为NULL
。
QWidget::setParent(NULL)
QWidgets
的文档。this->ui->myLayout->removeWidget(myWidget);
也已经过时了。感谢让我继续我的Web开发逃避现实Qt应用程序。 - JackLeEmmerdeur