目录
问题描述:Qt QWidget 删除之后还会显示
解决方案:
Part1: 使用 deleteLater
Part2: 使用 setParent(nullptr) 父控件为空
还有一种不常用的方法 隐藏:
问题描述:Qt QWidget 删除之后还会显示
Qt 无论使用
while (Layout->count() > 0) {
QLayoutItem *item = Layout->takeAt(0);
Layout->removeItem(item);
}
还是使用:
QVBoxLayout::removeWidget(QWidget *w)
解决方案:
经测试有以下两种方案:
Part1: 使用 deleteLater
widget->deleteLater();
layout->removeWidget(widget);
Part2: 使用 setParent(nullptr) 父控件为空
widget->setParent(nullptr);
layout->removeWidget(widget);
还有一种不常用的方法 隐藏:
widget->hide();