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();
相关推荐
常乐か7 小时前
在 Ubuntu 24.04 中编译 Qt 5.15.2 项目完全指南
linux·qt·ubuntu
沫璃染墨8 小时前
《Qt从零入门系列(二):Qt开发环境搭建——从Qt Creator到SDK配置》
c++·ide·qt
我是小灰灰吖10 小时前
Ubuntu 22.04 切换为 X11 会话以解决 QT 桌面程序兼容性问题
linux·qt·ubuntu
≮傷£≯√11 小时前
QT配置FFmpeg
开发语言·qt·ffmpeg
≮傷£≯√12 小时前
配置 opencv Qt项目
人工智能·qt·opencv
qq_4017004113 小时前
Qt Modbus协议0x00
开发语言·qt
Zenova EdgeOS13 小时前
C++ 工业边缘 Qt 桌面应用实战:从 QWidget 到模型视图、网络与多线程
网络·c++·qt
沫璃染墨1 天前
《Qt从零入门系列(一):Qt框架初识——从发展历史到跨平台开发》
c++·qt·系统架构·gui
云贝贝贝1 天前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u0103055271 天前
Java图像处理实战指南
人工智能·1024程序员节