Qt Widget 删除之后还会显示 问题

目录

[问题描述:Qt QWidget 删除之后还会显示](#问题描述:Qt QWidget 删除之后还会显示)

解决方案:

[Part1: 使用 deleteLater](#Part1: 使用 deleteLater)

[Part2: 使用 setParent(nullptr) 父控件为空](#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();
相关推荐
BatyTao35 分钟前
QT Creator快速创建主项目-子项目
qt
赤水无泪3 小时前
Qt 全模块汇总列表
开发语言·qt
GoKu~4 小时前
QT视图界面
qt
冰山一脚20136 小时前
QWidget的初始化颜色来自于哪里的笔记
qt
小陶来咯8 小时前
aimrt中间件的使用
开发语言·qt·中间件
music score9 小时前
google 的C++自动化测试框架详解(Google Test)(2)
c++·qt·lucene
小短腿的代码世界9 小时前
Qt_Qwt深度解析:从源码到工业级性能优化
开发语言·qt·性能优化
GoKu~9 小时前
QT Qss
qt
基德爆肝c语言9 小时前
Qt系统相关
开发语言·qt
星河漫步Lu10 小时前
QT6中五步完成Android的环境配置
android·qt