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();
相关推荐
c1s2d3n4cs8 小时前
Qt模仿nlohmann::json进行序列化和反序列化
开发语言·qt·json
jf加菲猫9 小时前
第21章 Qt WebEngine
开发语言·c++·qt·ui
IT观察者12 小时前
Qt单例的优雅实现
开发语言·qt
zixingcai15 小时前
ModuleNotFoundError: No module named ‘ui_form‘
qt
小短腿的代码世界16 小时前
打印不止是QPrinter:深入Qt Print Support框架的内核设计与跨平台输出管道
开发语言·qt
代钦塔拉17 小时前
第一篇:工业级 C++/Qt 项目头文件包含原则:告别循环依赖与编译玄学
开发语言·c++·qt
习惯就好zz18 小时前
在 Qt Creator 19.0.0 中配置 GitHub Copilot 的完整记录
qt·github·copilot
橙色阳光五月天18 小时前
Qt C++项目的dump文件分析
开发语言·c++·qt
SoveTingღ18 小时前
【问题解析】Socket已经关闭了,但是端口还处于listening状态?
linux·服务器·c++·qt·socket
咸鱼翻身小阿橙18 小时前
Qt Quick QML 登录界面代码学习报告
开发语言·qt·学习