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();
相关推荐
Quz5 小时前
QML Label 完整用法与 Text 组件选型
前端·qt
kaixin_learn_qt_ing7 小时前
QPluginLoader
qt
kaixin_learn_qt_ing12 小时前
Qt 提升部件(Promote)找不到头文件路径
qt
秋田君1 天前
QT_QT布局详解
开发语言·数据库·qt
辞旧 lekkk1 天前
【Qt系统相关】鼠标事件
linux·开发语言·qt·学习·计算机外设·萌新
brave_zhao1 天前
什么是Qt Designer
开发语言·qt
贺国亚2 天前
A2A协议与Agent互操作-Task生命周期
开发语言·qt
luoyayun3612 天前
Qt + FFmpeg 视频工具:视频一键压缩功能实现
qt·ffmpeg·音视频·视频压缩
blueman88882 天前
Qt5通过vcpkg中调用时,在debug模式下调试时总是调用release的plugins文件夹中的dll
c++·qt·cmake
南国韭菜2 天前
【无标题】
c++·qt