QT Layout布局,隐藏其中的某些部件后,不影响原来的布局

最近在工作时,被要求,需要将布局中的某些部件隐藏后,但不能影响原来的布局。

现在记录解决方案!

一、水平布局(垂直布局一样)

ui中的布局

效果:

按钮可以任意隐藏,都不影响其中布局。

隐藏代码:

ui->pushButton_1->hide();    // 需要使用hide()
QSizePolicy retain = ui->pushButton_1->sizePolicy();    // 获取控件的大小调整策略
retain.setRetainSizeWhenHidden(true);    // 设置控件被隐藏时,任然保持在布局中的位置大小
ui->pushButton_1->setSizePolicy(retain);    // 重新设置大小策略

需要使用到hide()函数。 

显示代码:

ui->pushButton_1->setHidden(false);
// 也可以  ui->pushButton_1->show();

这种是在ui布局中的

二、网格布局 GridLayout (其他布局类似)

代码中自定义控件的布局

实现效果:

将第一个,第三个,第七个按钮给隐藏掉了,但是并不影原来的布局。

布局代码:

QGridLayout *gLayout = new QGridLayout(this);       
QList<QPushButton *> pList;                         
for (int i = 0; i < 3; i++) {                       for (int j = 0; j < 3; j++) {                   QPushButton *btn = new QPushButton(this);   btn->setText("我是按钮");                       pList.append(btn);  // 添加到链表,用于隐藏部件按钮       btn->hide();        // 1.需要先隐藏              gLayout->addWidget(btn, i, j);  // 2.再添加到布局 }                                               
}                                                   
// 上面被隐藏了,这里显示出来                                    
for (QPushButton *btn : pList) {                    btn->setHidden(false);                          
} this->setLayout(gLayout);

注意,需要先隐藏控件后,再添加到布局管理器中!

为什么需要这样呢?某些场景下不这样操作,无法达到最终效果!

隐藏代码:

pList[0]->hide();    // 需要使用hide()                        
QSizePolicy retain = pList[0]->sizePolicy(); 
retain.setRetainSizeWhenHidden(true);        
pList[0]->setSizePolicy(retain);             
// ... 其他按钮隐藏类似,修改索引即可

需要恢复显示,可以使用 setHidden 函数或者 show 函数。

完!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/140785.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

基于双PI矢量控制结构和SVPWM的风力发电系统Simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 PMSM数学模型 4.2 双PI控制结构 4.3 SVPWM 5.完整工程文件 1.课题概述 风力发电系统的核心是风力发电机&#xff0c;常见的有永磁同步发电机和感应发电机&#xff08;IG&#xff09;。这些发电机通…

电子电气架构 --- 基于ISO 26262的车载电子软件开发流程

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一个人的特殊竞争力&#xff0c;任何消耗你的人和事&#xff0c;多看一眼都是你的不…

k8s中控制器的使用

目录 一、什么是控制器 二、控制器常用类型 三、replicaset控制器 1、replicaset功能 2、replicaset参数说明 3、replicaset示例 四、deployment控制器 1、deployment控制器的功能 2、deployment控制器示例 &#xff08;1&#xff09;版本迭代 &#xff08;2&#x…

匹配行最大值替换为最小值公式

好的!我们一步一步详细讲解这个公式的作用和如何实现你想要的功能。 ### 数据结构假设: - 你的数据在 A、B、C 列中,每一行都有值。 - 需要在 A 列和 B 列相同的行中,找到 C 列中的最大值,将其替换为最小值,其他值保持不变。 ### 公式: ```excel =IF(C2=MAX(IF(($A$2:$…

后续学习规划 ----含我个人的学习路线,经历及感受

目前的基础 开发相关&#xff08;最重要&#xff09; 1.Java SE 从入门到起飞 2.Java Web开发 3.苍穹外卖 以上三个是和开发相关的基础。 我是按照书写的顺序学习的&#xff0c;有需要的朋友可以参考。 计算机相关 其他的话&#xff0c;都是比较久远的了。隔得时间一年半…

计算机二级office操作技巧——Excel篇

文章目录 函数公式总结写在前面五大基本函数sum求和函数average求平均函数max求最大值函数min求最小值函数count求个数函数 rank排名函数if逻辑判断函数条件求个数函数countif单条件求个数函数countifs多条件求个数函数 条件求和函数sumifs多条件求和函数sumproduct乘积求和函数…

Oracle从入门到放弃

Oracle从入门到放弃 左连接和右连接Where子查询单行子查询多行子查询 from子句的子查询select子句的子查询oracle分页序列序列的应用 索引PL/SQL变量声明与赋值select into 赋值变量属性类型 异常循环游标存储函数存储过程不带传出参数的存储过程带传出参数的存储过程 左连接和…

QT模型视图结构2

文章目录 Qt 模型视图结构——模型类(二)1.基本概念1.1.模型的基本结构1.2.模型索引1.3.行号和列号1.4.父项1.5.项的角色 Qt 模型视图结构——模型类(二) ​ 模型/视图结构是一种将数据存储和界面展示分离的编程方法。模型存储数据&#xff0c;视图组件显示模型中的数据&#…

【有啥问啥】自动提示词工程(Automatic Prompt Engineering, APE):深入解析与技术应用

自动提示词工程&#xff08;Automatic Prompt Engineering, APE&#xff09;&#xff1a;深入解析与技术应用 引言 随着大语言模型&#xff08;LLM&#xff09;如 GPT、BERT 等的快速发展&#xff0c;如何高效地与这些模型进行互动成为了重要的研究方向之一。提示词&#xff…

神经网络通俗理解学习笔记(3)注意力神经网络

Tansformer 什么是注意力机制注意力的计算键值对注意力和多头注意力自注意力机制注意力池化及代码实现Transformer模型Transformer代码实现 什么是注意力机制 注意力机制的发展史 Attention Mechanism Mnih V, Heess N, Graves A. Recurrent models of visual attention, 2014…

JavaScript - 异步编程

1. 前言 在 JavaScript 中&#xff0c;异步编程是一种处理需要等待操作&#xff08;如网络请求、文件读取或计时器&#xff09;的编程方式。由于 JavaScript 是单线程的&#xff0c;意味着它一次只能执行一个任务。异步编程允许你在等待某些操作完成时&#xff0c;继续执行其他…

【技术调研】三维(4)-ThreeJs阴影投射、光线投射及案例

阴影投射 阴影是灯光经过物体后产生的&#xff0c;几个关键的设置&#xff1a; 灯光属性设置&#xff1a;.castShadow : Boolean 。此属性设置为 true 灯光将投射阴影。注意&#xff1a;这样做的代价比较高&#xff0c;需要通过调整让阴影看起来正确。 查看 DirectionalLight…

CAD_Electrical 2022使用记录

一、CAD软件实用调整 1、如何调节窗口背景颜色 例如&#xff1a;将图中白色的背景色调节为黑色。 步骤&#xff1a;在CAD空白区域点击右键 -> 点击选项 -> 在显示中点击颜色(窗口元素) -> 将二维模型空间统一背景的颜色修改成需要的颜色 2、如何调节关标大小 例如&a…

如何精确统计Pytorch模型推理时间

文章目录 0 背景1 精确统计方法2 手动synchronize和Event适用场景 0 背景 在分析模型性能时需要精确地统计出模型的推理时间&#xff0c;但仅仅通过在模型推理前后打时间戳然后相减得到的时间其实是Host侧向Device侧下发指令的时间。如下图所示&#xff0c;Host侧下发指令与De…

发展与监管协同发力 人工智能算法领域已形成良好生态

发展与监管协同发力 人工智能算法领域已形成良好生态 近日&#xff0c;全国组织机构统一社会信用代码数据服务中心对国家网信办公示的人工智能领域备案信息进行了详尽的分析&#xff0c;揭示了我国人工智能产业的蓬勃景象。据统计&#xff0c;我国人工智能领域的备案主体遍布各…

MySQL之表的约束

目录 前言 一&#xff1a;空属性 二&#xff1a;默认值 三:列描述 四:zerofill 五:主键 六:自增长 七:唯一键 八&#xff1a;外键 接下来的日子会顺顺利利&#xff0c;万事胜意&#xff0c;生活明朗-----------林辞忧 前言 表中一定要有各种约束&#xff0c;通过约束…

零倾覆力矩点(ZMP)

系列文章目录 前言 在机器人学中&#xff0c;零倾力矩点&#xff08;ZMP&#xff09;是一个特征点&#xff0c;主要用于足式运动。在下文的一些假设中&#xff0c;我们将看到&#xff0c;它非正式地代表了一个系统接触反作用力的结果点。例如&#xff0c;下图中的刚体处于静态平…

【深入理解SpringCloud微服务】深入理解nacos配置中心(四)——配置新增或修改源码分析

【深入理解SpringCloud微服务】深入理解nacos配置中心&#xff08;四&#xff09;——配置新增或修改源码分析 原理回顾源码分析ConfigController#publishConfig()ConfigOperationService#publishConfig()nacos事件监听机制ConfigChangePublisher#notifyConfigChange()NotifyCe…

在 FlexSim 中使用 OpenUSD 分析、可视化和优化现实世界的流程

对于制造和工业企业而言&#xff0c;效率和精度至关重要。为了简化运营、降低成本和提高生产力&#xff0c;各公司正在转向数字孪生和离散事件模拟。 离散事件模拟使制造商能够通过试验不同的输入和行为来优化流程&#xff0c;这些输入和行为可以逐步进行建模和测试。 FlexSi…

6. Transforms的使用(一)--ToTensor()

Transforms的使用&#xff08;一&#xff09; 1.使用ToTensor类将数据转化为Tensor形式 导入需要使用的transforms类 from torchvision import transforms创建ToTensor类的实例 totensor transforms.ToTensor()将读取的图片ndarray数据转化为Tensor数据 img cv.imread(img_p…