【Qt】控件——布局管理器、常见的布局管理器、布局管理器的使用、垂直布局、水平布局、网格布局、表单布局、Spacer

文章目录

  • Qt
    • 布局管理器
      • 垂直布局
      • 水平布局
      • 网格布局
      • 表单布局
      • Spacer

Qt

在这里插入图片描述
  

布局管理器

  之前在使用 Qt 创建界面上的控件时,大多是通过 “绝对定位” 的方式来设定的。即每个控件所在的位置都需要计算坐标,最终通过 setGeometry 或者 move 方式进行摆放。

  然而,这种设定方式实际上并不方便。尤其是当界面内容较多时,不好计算控件的位置。而且一个窗口的大小往往是可以调整的,按照绝对定位的方式,无法自适应窗口大小。

  因此,Qt 引入了 “布局管理器”(Layout)机制,以解决上述问题。

  

垂直布局

  使用 QVBoxLayout 表示垂直的布局管理器。其中,V 是 vertical 的缩写。

  

属性说明
layoutLeftMargin左侧边距
layoutRightMargin右侧边距
layoutTopMargin上方边距
layoutBottomMargin下方边距
layoutSpacing相邻元素之间的间距

  

  1. QVBoxLayout 是垂直布局,addWidget() 用于向布局器中添加元素。
    在这里插入图片描述

  

水平布局

  使用 QHBoxLayout 表示水平的布局管理器。其中,H 是 horizontal 的缩写。

  核心属性与 QVBoxLayout 属性一致,具体如下:

  

属性说明
layoutLeftMargin左侧边距
layoutRightMargin右侧边距
layoutTopMargin上方边距
layoutBottomMargin下方边距
layoutSpacing相邻元素之间的间距

  

  1. QHBoxLayout 是水平布局管理器,addWidget用于添加元素。

在这里插入图片描述
  

  1. QVBoxLayout 和 QHBoxLayout 可以配合使用。
    在这里插入图片描述

  

网格布局

  Qt 中提供了 QGridLayout 用于实现网格布局的效果,能够达到 M * N 的网格布局形式。

  核心属性与 QVBoxLayout 和 QHBoxLayout 有相似之处,但在设置间距时是按照垂直和水平两个方向进行设置的。

  

属性说明
layoutLeftMargin左侧边距
layoutRightMargin右侧边距
layoutTopMargin上方边距
layoutBottomMargin下方边距
layoutHorizontalSpacing相邻元素之间水平方向的间距
layoutVerticalSpacing相邻元素之间垂直方向的间距
layoutRowStretch行方向的拉伸系数
layoutColumnStretch列方向的拉伸系数

  

  1. 网格布局管理器,类似网格可以调整元素的位置。

在这里插入图片描述
  

  1. 使用QSizePolicy 提供的一些宏可以修改按钮的样式。

在这里插入图片描述

  

表单布局

  除了上述的布局管理器之外,Qt 还提供了 QFormLayout。它属于 QGridLayout 的特殊情况,专门用于实现两列表单的布局。

  这种表单布局多用于让用户填写信息的场景。其中,左侧列为提示信息,右侧列为输入框,方便用户直观地了解每个输入项的含义并进行相应的输入操作。

  

  1. QGridLayout 为表单布局。
    在这里插入图片描述

  

Spacer

  在使用布局管理器的时候,可能需要在控件之间添加一段空白,此时可以使用 QSpacerItem 来表示。

  

属性说明
width宽度
height高度
hData水平方向的 sizePolicy
QSizePolicy::Ignored忽略控件的尺寸,不对布局产生影响。
QSizePolicy::Minimum控件的最小尺寸为固定值,布局时不会超过该值。
QSizePolicy::Maximum控件的最大尺寸为固定值,布局时不会小于该值。
QSizePolicy::Preferred控件的理想尺寸为固定值,布局时会尽量接近该值。
QSizePolicy::Expanding控件的尺寸可以根据空间调整,尽可能占据更多空间。
QSizePolicy::Shrinking控件的尺寸可以根据空间调整,尽可能缩小以适应空间。
vData垂直方向的 sizePolicy,选项同水平方向。

  

  1. Spacer 向布局管理器中添加空白。

在这里插入图片描述

            

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

配置和排查 Lombok 在 IDEA 中使用的详细步骤

在日常开发中,Java 代码常常需要大量的样板代码,比如 getter、setter、toString 等方法。Lombok 是一个 Java 库,可以通过注解的方式,自动生成这些常见的代码,从而让代码更加简洁、清晰。比如,我们可以通过…

快速在win11上利用hyper-v安装虚拟系统:遭遇Start PXE over ipv4

以前习惯使用VMware,但在win11上折腾了很久都遇到各种麻烦,索性就上微软自家的Hyper-V,。作为微软自家的产品,Hyper-V 与 Windows 11 操作系统紧密结合,具有良好的兼容性和稳定性。在安装和使用过程中,与系…

Python中的数据可视化:Matplotlib基础与高级技巧

Python中的数据可视化:Matplotlib基础与高级技巧 数据可视化是数据分析和数据科学中不可或缺的一部分。通过图表,我们可以更直观地观察数据的分布和趋势。Matplotlib作为Python最基础、也是最广泛使用的绘图库之一,不仅支持多种常用图表&…

沈阳乐晟睿浩科技有限公司抖音小店新篇章

在当今数字化时代,电商行业如雨后春笋般迅速崛起,其中抖音小店凭借其庞大的用户基础、精准的推荐算法和便捷的购物体验,成为了电商领域的新宠。在这场电商变革中,沈阳乐晟睿浩科技有限公司(以下简称“乐晟睿浩”&#…

1,国产FPGA(紫光同创)-IP核-PLL

本文默认在0,国产FPGA(紫光同创)-新建PDS工程基础上完成。 1,添加IP核 右击(1)空白处进行添加,点击New IP(2)进行新建IP核。 选择本次实验要配置的IP核-PLL(…

“智能二维码”实现光伏行业数字信息化管理

近日,为了提升管理效率,国电投建业光伏电站将二维码引入设备巡视和班组建设中。 首先,使用传统纸质巡视作业卡,巡视工作强度大,容易出现错误;此外,“三会一活动”和培训记录等班组建设过程材料大…

电脑录屏不用愁!四款免费录屏软件深度体验分享

虽然我不是专业的,但是我有一颗想要变得专业的心。作为一名经常需要录制教学视频和游戏直播的博主,我深知一款好用的录屏软件对于工作效率的重要性。今天,我就来和大家分享一下我最近亲测的四款免费录屏软件,来看看哪一款更适合你…

shodan5,参数使用,批量查找Mongodb未授权登录,jenkins批量挖掘

查找美国安全局漏洞 nww.nsa.gov(美国安全局官方网站) net参数使用 搜索指定的ip网段 shodan search --limit 10 --fields ip_str,port net:208.88.84.0/24 (老美国家安全局的一个网段)可能直接访问不太行,可以使用host参数,得到域名再去…

部署MiniCPM-V

GitHub - OpenBMB/MiniCPM-V: MiniCPM-V 2.6: A GPT-4V Level MLLM for Single Image, Multi Image and Video on Your Phone 安装和执行 "Local WebUI Demo" 的步骤如下: 克隆仓库并导航到源文件夹: git clone https://github.com/OpenBMB/M…

Vue 权限管理

vue 中,比较常见的需要进行权限管控的权限控制实现思路有四条:、 菜单的控制 在登录请求中,会得到权限数据,当然,这个需要后端返回数据的支持,前端根据权限数据,展示对应的菜单,单…

MongoDB 8.0.3版本安装教程

MongoDB 8.0.3版本安装教程 一、下载安装 1.进入官网 2.选择社区版 3.点击下载 4.下载完成后点击安装 5.同意协议,下一步 6.选择第二个Custon,自定义安装 7.选择安装路径 !记住安装路径 8.默认,下一步 9.取…

用于约束多目标优化的新型双阶段双种群进化算法

PPT链接:人工智能论文课程汇报介绍PPT资源-CSDN文库 A Novel Dual-Stage Dual-Population Evolutionary Algorithm for Constrained Multi-Objective Optimization IEEE Transactions on Evolutionary Computation, Volume 26, Issue 5, Pages 1129-1143, October …

C语言中的位操作

第一章 变量某位赋值与连续赋值 寄存器 | 值 //例如&#xff1a;a 1000 0011b a | (1<<2) //a 1000 0111 b 单独赋值 a | (3<<2*2) // 1011 0011b 连续赋值 第二章 变量某位清零与连续清零 寄存器 & ~&#xff08;&#xff09; 值 //例子&#xff1a;a …

uniapp 报错Invalid Host header

前言 在本地使用 nginx 反向代理 uniapp 时&#xff0c;出现错误 Invalid Host header 错误原因 因项目对 hostname 进行检查&#xff0c;发现 hostname 不是预期的&#xff0c;所以&#xff0c;报错 Invalid Host header 。 解决办法 这样做是处于安全考虑。但&#xff0…

Ubuntu 20.04 安装 OpenCV 和 OpenCV_contrib 教程

Ubuntu 20.04 安装 OpenCV 和 OpenCV_contrib 教程 Ubuntu 20.04 安装 OpenCV 和 OpenCV_contrib 教程前言 OpenCV概述核心功能优势特点应用领域安装与使用 OpenCV_contrib概述核心功能具体模块 安装与使用一、准备工作二、下载OpenCV和OpenCV_contrib三、编译和安装OpenCV四、…

10.24.2024刷华为OD C题型(四) -- 对象list按照多个属性排序

文章目录 最长连续子序列AI面板识别语法知识记录 最长连续子序列 https://www.nowcoder.com/discuss/592408743019589632 if __name__ "__main__":# 获取用户输入# numbers int(input().split(,))# str_arr input().split(,)arr [int(num) for num in input(…

生活中是否害怕过机械硬盘出现坏道?

目录 一、坏道起因 二、继续了解-系统对坏扇区的处理 &#xff08;一&#xff09;硬盘自身的处理机制 &#xff08;二&#xff09;操作系统层面的处理 三、进一步了解-备用扇区 &#xff08;一&#xff09;备用扇区的工作原理 &#xff08;二&#xff09;S.M.A.R.T.技术…

开发了一个成人学位英语助考微信小程序

微信小程序名称&#xff1a;石榴英语 全称&#xff1a;石榴英语真题助手 功能定位 北京成人学士学位英语辅助学习工具&#xff0c;包含记高频单词&#xff0c;高频词组&#xff0c;专项练习&#xff0c;模拟考试等功能。 开发背景 个人工作需要提高学习英文水平&#xff…

[Web安全 网络安全]-Burp Suite抓包软件‘下载‘安装‘配置‘与‘使用‘

文章目录&#xff1a; 一&#xff1a;前言 1.简介 2.主要功能 3.抓包原理 4.抓包过程 二&#xff1a;Burp Suite下载安装与配置 1.下载Burp Suite 2.安装JDK&#xff08;用于Java运行环境_包含JRE&#xff09; 第一步&#xff1a;安装JDK环境 第二步&#xff1a;安…

2、片元着色器之有向距离场(SDF)运算:并集、差集、交集

1、并集 float sdCircle(vec2 uv,float r){return length(uv)-r; } float sdRect(vec2 uv,float r){return max(abs(uv.x),abs(uv.y))-r; } void mainImage( out vec4 fragColor, in vec2 fragCoord ) {float w 1.0/iResolution.y;// 计算纹理坐标vec2 uv fragCoord/iResolu…