QLayout删除控件后重新布局问题_zx249388847的博客-程序员秘密

技术标签: QT  

我使用的是FlowLayout,是从QLayout继承的类,删除layout里的控件之后虽然设置了margin,但是控件位置错乱,控件在靠最左的位置。

之前使用的时候删除控件用的takeAt是没有问题的,代码如下:

int  index = m_pFlowlayout->indexOf(curWidget)

QLayoutItem *currentItem = m_pFlowlayout->takeAt(index);

delete currentItem;

delete curWidget

m_pFlowlayout重新设置margin和spacing


这种方式移除了一个item并删除item和widget


这次使用出现了布局问题,解决方法

添加 curWidget->setParent(nullptr);


虽然之前并没有问题,但安全的做法如下:

curWidget->setParent(nullptr);

int  index = m_pFlowlayout->indexOf(curWidget)

QLayoutItem *currentItem = m_pFlowlayout->takeAt(index);

m_pFlowlayout->removeWidget(curWidget);

m_pFlowlayout-> removeItem(currentItem );

delete currentItem ;

currentItem  = nullptr;

delete curWidget

curWidget = nullptr;

m_pFlowlayout重新设置margin和spacing

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zx249388847/article/details/79061470

智能推荐

python解析jdbcurl_使用JDBC,Python和JayDeBeApi連接到Filemaker數據庫_观致的博客-程序员秘密

我正在嘗試編寫AWS Lambda Python包,它將通過JDBC連接到FileMaker數據庫。爲了測試,我使用Lambda Linux AMI啓動了一個EC2實例,並創建了一個我正在測試的virtualenv(/ venv)。我已經使用WinSCP將fmjdbc.jar上傳到/ venv/lib/fmjdbc.jar。該代碼使用JayDeBeApi,下面的使用示例在這裏:https://py...

游戏开发 XNAGame-004 键盘事件_虾米大王的博客-程序员秘密

窗体中拖放一个标签form1.csusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace XNAGame_0

gt,gte,lt,lte缩写的含义_gt lt_flowersman的博客-程序员秘密

总是忘…记一下吧~gt: greater than 大于gte: greater than or equal 大于等于lt: less than 小于lte: less than or equal 小于等于

3D pose estimation 综述_pedx数据集_Blessing_l的博客-程序员秘密

3D pose estimation 综述想象一下,一辆自动驾驶汽车正驶向拥挤的城市交叉路口的场景。识别正在移动的行人,并预测行人或一群行人可能在几秒钟内的位置,以决定是否和何时刹车显得很关键。再想象一个机器人在博物馆或挤满行人的购物中心担任导游。机器人识别周围人的方位和位置是很重要的,可以提供更好的引导,避免撞到行人。在这些场景中,准确的行人姿态和位置预测对于促进更有效的人机交互和车辆避碰有...

靶机10 DC-9(过程超详细)_dc-9靶机_honest_run的博客-程序员秘密

DC靶场一共有9个,对于学习渗透测试人员,有很大的帮助,是非常不错的靶场。

angular路由模拟微信页面切换和页面之间的传值_sdfujichao的博客-程序员秘密

angular模拟微信页面的切换,页面之间传值。用路由。 路由的使用 *{ padding: 0; margin: 0; } body,html{width: 100%;height: 100%;} .content{position: absolute; top: 0;left: 0;bottom:

随便推点

android editview获取焦点,Android EditText 获取不到焦点_解忧小巫仙的博客-程序员秘密

开发中遇到一个问题就是输入框EditText点击的时候没有弹出软键盘也没有任何反映,同级视图,其他的EditText有反映,唯有这一个没反应,搜索了下EditText相关的问题但都不是想要的信息如上图所示,红色框内的EditText无响应,下面两个正常,弄了一段时间解决不了,就跑到布局里看看,一看果然发现了问题:android:id="@+id/rl_receive_name"style="@st...

C语言根据概率随机抽奖,【图片】红蓝球概率问题,通过程序模拟抽取,计算结果已出,有兴趣来看【非现役文职吧】_百度贴吧..._weixin_35969257的博客-程序员秘密

该楼层疑似违规已被系统折叠隐藏此楼查看此楼我用的c语言,大一学的还没忘完。。。。程序非常简单,就是生成随机数,然后根据随机数的结果进行计数就好了。代码贴下面,有兴趣的可以看看。懂行的请不要喷我写的烂。。。。。毕竟不是专业码农。#include#include#includeint main(){srand((unsigned)time(NULL));int count1=0,count2=0,c...

python语法:多线程同时处理大量文件_python 循环把处理的文件放入不同的线程中_街口卖菜的老刘的博客-程序员秘密

先写在前面:thread模块,简单来说,cpu的反复横跳而已:要写并发机制,还得用多进程multiprocessing模块,想要快速实现的朋友可以看看我这篇文章:是枝裕和:内:python中的多进程​zhuanlan.zhihu.com当然threads也是有用的(轻量,简易,操作简单)大家可以看我下面举例子多线程是什么?多线程类似于同时执行多...

使用C++调用Cplex(二)——增加约束求解LP问题_TillerB的博客-程序员秘密

使用C++调用Cplex(二)——增加约束求解LP问题问题背景:这是个网络流模型原始问题的模型为:minimize c*xsubject to Hx = d l <= x <= u现在需要增加约束 AH=b 到原模型中,构成一个新的模型。 minimize c*x subject to Hx = d (1) Ax = b (2)

在linux下对接口进行Jmeter 压测_weixin_34026484的博客-程序员秘密

需求: (1)在linux下发送http请求 (2)从两个csv文件中读取不同的数据进行压测。1、添加Jmeter测试计划 具体每个参数的含义,参看我的另外一篇博文JMeter的使用(完成一次简单的测试计划)保存之后是.jmx文件。将.jmx文件和.csv文件(数据)上传到Linux下,注意.csv文件的路...

k8s【PostStart钩子】_k8s poststart_Happywzy~的博客-程序员秘密

PostStart容器生命周期钩子(Container Lifecycle Hooks)监听容器生命周期的特定事件,并在事件发生时spec: containers: - name: lifecycle-demo-container image: nginx lifecycle: postStart: exec: command: ["/bin/sh", "-c", "echo Hello from the postStart han

推荐文章

热门文章

相关标签