QT 布局管理综合实例

news/2025/3/19 7:26:41/

通过一个实例基本布局管理,演示QHBoxLayout类QVBoxLayout类QGridLayout类效果

本实例共用到四个布局管理器,分别是 LeftLayout、RightLayout、BottomLayout和MainLayout。

在源文件“dialog.cpp”具体代码如下:

运行效果:

SetFrameStyle()是QFrame 的方法,参数以或(|)的方式设定控件的面板风格,由形状(QFrame::Shape)和阴影(QFrame::shadow)两项配合设定。

其中,形状包括六种,分别是NoFrame、Panel、Box、HLine、VLine 及WinPanel;

阴影包括三种,分别是Plain、Raised和Sunken。

setSizeConstraint是Qt中的一种函数,它可以用来控制小部件的大小限制方式。它的基本作用就是确定小部件应该如何处理自己的大小信息。 

(1)QLayout::SetFixedSize: 小部件使用固定的大小,而不考虑小部件的内容或其他因素。(2)QLayout::SetMinimumSize:小部件至少应该有多大,但允许它变得更大。(3)QLayout::SetMaximumSize: 小部件最多可以有多大,但允许它变得更小。(4)QLayout::SetDefaultSize: 小部件在其没有明确设定大小时应使用的默认大小。

最优化显示,即控件都按其 sizeHint()的大小显示。

ButtomLayout->addStretch():在按钮之前插入一个占位符,使两个按钮能够靠右对齐,并且在整个对话框的大小发生改变时,保证按钮的大小不发生变化。

addStretch()用于在布局中添加可伸缩空间。这意味着该空间将根据需要扩展或收缩以填充布局中的任何额外空间。 例如,如果在一个水平布局中有三个小部件,并且希望中间的小部件占据所有可用空间,则可以在中间小部件之前和之后添加一个拉伸。

注意:QHBoxLayout默认采取的是以自左向右的方式顺序排列插入控件或子布局,也可通过调用 setDirection()方法设定排列的顺序(如layout-> setDirection(QBoxLayout:: RightToLeft))。QVBoxLayout 默认采取的是以自上而下的方式顺序排列插入控件或子布局,同理也可通过调用 setDirection()方法设定排列的顺序。

通常,QGridLayout功能能够完成QHBoxLayout与QVBoxLayout的功能,但若只是完成简单的水平或竖直的排列,则使用后两个更方便,而QGridLayout 适合较为方正整齐的界面布局。


http://www.ppmy.cn/news/1211863.html

相关文章

devops完整搭建教程(gitlab、jenkins、harbor、docker)

devops完整搭建教程(gitlab、jenkins、harbor、docker) 文章目录 devops完整搭建教程(gitlab、jenkins、harbor、docker)1.简介:2.工作流程:3.优缺点4.环境说明5.部署前准备工作5.1.所有主机永久关闭防火墙…

强化学习中蒙特卡罗方法

一、蒙特卡洛方法 这里将介绍一个学习方法和发现最优策略的方法,用于估计价值函数。与前文不同,这里我们不假设完全了解环境。蒙特卡罗方法只需要经验——来自实际或模拟与环境的交互的样本序列的状态、动作和奖励。从实际经验中学习是引人注目的&#x…

C# ZXing 二维码,条形码生成与识别

C# ZXing 二维码条形码生成识别 安装ZXing使用ZXing生成条形码生成二维码生成带Logo的二维码识别二维码、条形码 安装ZXing NuGet搜索ZXing安装ZXing.Net包 使用ZXing using ZXing; using ZXing.Common; using ZXing.QrCode; using ZXing.QrCode.Internal; 生成条形码 //…

【神经网络】GAN:生成对抗网络

GAN:生成对抗网络 Generator(生成器)概念 和传统的神经网络不同,Generator除了接受x的输入之外,还会接受一个简单的分布作为z进行输入,从而使得网络的输出也是一个复杂的分布 为什么输出需要时一个分布呢…

【开源】基于Vue.js的生活废品回收系统的设计和实现

目录 一、摘要1.1 项目介绍1.2 项目详细录屏 二、研究内容三、界面展示3.1 登录注册3.2 资源类型&资源品类模块3.3 回收机构模块3.4 资源求购/出售/交易单模块3.5 客服咨询模块 四、免责说明 一、摘要 1.1 项目介绍 生活废品回收系统是可持续发展的解决方案,旨…

《Redis实战》笔记

文章目录 1.字符串命令2.列表命令3.集合命令4.散列命令5.有序集合命令6.发布订阅命令7.其他命令8.redis事务9.键的过期时间10.redis的持久化 1.字符串命令 2.列表命令 3.集合命令 4.散列命令 5.有序集合命令 6.发布订阅命令 7.其他命令 8.redis事务 5个命令:WATCH …

聊天机器人框架Rasa资源整理

Rasa是一个主流的构建对话机器人的开源框架,它的优点是几乎覆盖了对话系统的所有功能,并且每个模块都有很好的可扩展性。参考文献收集了一些Rasa相关的开源项目和优质文章。 一.Rasa介绍 1.Rasa本地安装 直接Rasa本地安装一个不好的地方就是容易把本地…

跨域:利用JSONP、WebSocket实现跨域访问

跨域基础知识点:跨域知识点 iframe实现跨域的四种方式:http://t.csdnimg.cn/emgFr 注:本篇中使用到的虚拟主机也是上面iframe中配置的 目录 JSONP跨域 JSONP介绍 跨域实验: WebSocket跨域 websocket介绍 跨域实验 JSONP跨域…