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();
相关推荐
枫叶丹42 小时前
【Qt开发】Qt界面优化(七)-> Qt样式表(QSS) 样式属性
c语言·开发语言·c++·qt
十五年专注C++开发3 小时前
Qt deleteLater作用及源码分析
开发语言·c++·qt·qobject
kangzerun4 小时前
SQLiteManager:一个优雅的Qt SQLite数据库操作类
数据库·qt·sqlite
金刚狼884 小时前
qt和qt creator的下载安装
开发语言·qt
追烽少年x4 小时前
Qt中使用Zint库显示二维码
qt
谁刺我心4 小时前
qt源码、qt在线安装器镜像下载
开发语言·qt
金刚狼886 小时前
在qt creator中创建helloworld程序并构建
开发语言·qt
扶尔魔ocy1 天前
【转载】QT使用linuxdeployqt打包
开发语言·qt
YxVoyager1 天前
在VS2017中使用Qt的foreach宏,IntelliSense无法正确识别函数定义
c++·qt
轩情吖1 天前
Qt的事件
开发语言·qt·事件·qt事件·qkeyevent·qmoveevent