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();
相关推荐
Mr.Q2 小时前
Qt多边形填充/不填充绘制
qt
可峰科技3 小时前
斗破QT编程入门系列之二:认识Qt:编写一个HelloWorld程序(四星斗师)
开发语言·qt
7年老菜鸡5 小时前
策略模式(C++)三分钟读懂
c++·qt·策略模式
独行soc8 小时前
#渗透测试#SRC漏洞挖掘#深入挖掘XSS漏洞02之测试流程
web安全·面试·渗透测试·xss·漏洞挖掘·1024程序员节
huanggang9829 小时前
在Ubuntu22.04上使用Qt Creator开发ROS2项目
qt·ros2
老秦包你会9 小时前
Qt第三课 ----------容器类控件
开发语言·qt
spygg10 小时前
Qt低版本多网卡组播bug
qt·组播·多网卡组播·qt5.7.0
码农客栈11 小时前
qt QWebSocketServer详解
qt
XuanRanDev11 小时前
【每日一题】LeetCode - 三数之和
数据结构·算法·leetcode·1024程序员节
plmm烟酒僧12 小时前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv