【Qt 学习笔记】Qt常用控件 | 布局管理器 | 水平布局Horizontal Layout
- 博客主页:Duck Bro 博客主页
- 系列专栏:Qt 专栏
- 关注博主,后期持续更新系列文章
- 如果有错误感谢请大家批评指出,及时修改
- 感谢大家点赞👍收藏⭐评论✍
Qt常用控件 | 布局管理器 | 水平布局Horizontal Layout
文章编号:Qt 学习笔记 / 42
文章目录
- Qt常用控件 | 布局管理器 | 水平布局Horizontal Layout
- 一、 QHBoxLayout介绍
- 1. 简介
- 2. 核心属性
- 二、 QHBoxLayout使用
- 1. 使用代码创建水平布局管理控件
- 2. 布局嵌套(垂直布局嵌套水平布局)
- 3. 图形化实现嵌套布局
一、 QHBoxLayout介绍
1. 简介
QHBoxLayout(水平布局)是Qt中的一种布局管理器,用于在水平方向上排列子控件。它是QBoxLayout的一个子类。
使用QHBoxLayout可以将子控件按照从左到右的顺序排列,子控件之间的间距可以通过设置布局的spacing属性来调整。

2. 核心属性
| 属性 | 说明 |
|---|---|
| layoutLeftMargin | 左侧边距 |
| layoutRightMargin | 右侧边距 |
| layoutTopMargin | 上⽅边距 |
| layoutBottomMargin | 下⽅边距 |
| layoutSpacing | 相邻元素之间的间距 |
二、 QHBoxLayout使用
1. 使用代码创建水平布局管理控件
- 编辑程序,创建三个按钮和一个水平布局,代码如下
#include "widget.h"
#include "ui_widget.h"
#include <QHBoxLayout>
#include <QPushButton>
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//创建水平布局QHBoxLayout * layout = new QHBoxLayout();//创建三个按钮QPushButton *button1 =new QPushButton("按钮1");QPushButton *button2 =new QPushButton("按钮2");QPushButton *button3 =new QPushButton("按钮3");//将按钮设置到水平布局中layout->addWidget(button1);layout->addWidget(button2);layout->addWidget(button3);//设置layout到widget中this->setLayout(layout);
}Widget::~Widget()
{delete ui;
}
- 运行代码,查看结果,如下图所示

2. 布局嵌套(垂直布局嵌套水平布局)
- 使用代码编写嵌套布局
#include "widget.h"
#include "ui_widget.h"
#include<QHBoxLayout>
#include<QVBoxLayout>
#include<QPushButton>
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 创建顶层 layoutQVBoxLayout* layoutParent = new QVBoxLayout();this->setLayout(layoutParent);// 添加两个按钮进去QPushButton* btn1 = new QPushButton("按钮1");QPushButton* btn2 = new QPushButton("按钮2");layoutParent->addWidget(btn1);layoutParent->addWidget(btn2);// 创建⼦ layoutQHBoxLayout* layoutChild = new QHBoxLayout();// 添加两个按钮进去QPushButton* btn3 = new QPushButton("按钮3");QPushButton* btn4 = new QPushButton("按钮4");layoutChild->addWidget(btn3);layoutChild->addWidget(btn4);// 把这个⼦layout 添加到父layout 中layoutParent->addLayout(layoutChild);
}Widget::~Widget()
{delete ui;
}
- 运行结果,查看结果

3. 图形化实现嵌套布局
-
使用图形化界面创建嵌套布局,在垂直布局中嵌套水平布局

-
运行代码,查看结果


相关文章:
【Qt 学习笔记】Qt常用控件 | 布局管理器 | 水平布局Horizontal Layout
博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 布局管理器 | 水平布局Horizontal Layout 文章编号&…...
Hive Aggregation 聚合函数
Hive Aggregation 聚合函数 基础聚合 增强聚合...
Unity 性能优化之GPU Instancing(五)
提示:仅供参考,有误之处,麻烦大佬指出,不胜感激! 文章目录 前言一、GPU Instancing使用方法二、使用GPU Instancing的条件三、GPU Instancing弊端四、注意五、检查是否成功总结 前言 GPU Instancing也是一种Draw call…...
LeetCode 138. 随机链表的复制
目录 1.原题链接: 2.结点拆分: 代码实现: 3.提交结果: 4.读书分享: 1.原题链接: 138. 随机链表的复制 2.结点拆分: ①.拷贝各个结点,连接在原结点后面; ②.处…...
【PC微信小程序点不动处理方法】
描述 在使用电脑小程序抓包的时候发现原来能点的小程序今天不能点了。就是原来有个输入车牌号的输入框点击会出现车牌号键盘,现在不行了,经过卸载安装发现不是微信的问题,是WeChatAppEx.exe 的bug。早期使用的是不带ex的都没有问题升级以后&…...
量化交易:日内网格交易策略.md
哈喽,大家好,我是木头左! 本文将详细介绍日内网格交易策略的原理,并结合Python代码示例,展示如何在掘金平台上实现这一策略。 策略原理 日内网格交易策略的核心思想是在一天的交易时间内,通过设置多个买卖…...
Ubuntu 20.04在Anaconda虚拟环境中配置PyQt4
一、创建一个虚拟环境 1 创建一个python2.7的虚拟环境: conda create -n pyqt4 numpy matplotlib python2.72 在环境中安装几个需要的包: pip install Theano pip install python-opencv3.4.0.14 pip install qdarkstyle pip install dominate二、在主…...
charts3D地球--添加航线
要在地球视角下画出海运路线图 方案 添加 globl 地球创建geo地理坐标系创建canvas对象用于承载地图世界地图this.worldChart //初始化canvas节点let cav document.createElement("canvas");this.$echarts.registerMap("world", geoJson);this.worldCha…...
变色龙还是树懒:揭示大型语言模型在知识冲突中的行为
你是知识变色龙还是树懒?我今天在ICLR学到一个很有趣的术语,叫做证据顺序(order of evidence)。 大模型RAG处理知识冲突的探讨: 在检索增强生成(Retrieval-Augmented Generation, RAG)的过程中,技术团队会将检索到的前几名文档作为证据,并提示(prompt)给大型语言模型(Large La…...
Android OpenMAX(四)OMX Core
假设我们已经写好了所有的OMX组件,有vdec、venc、adec、aenc,接下来问题来了,我们应该如何管理这些组件呢(创建、销毁)?这一篇文章我们向上一层学习OMX Core提供的标准API。 OMX Core代码位于 OMX_Core.h OMX Core在OpenMAX IL架构中的位置位于IL Client与实际的OMX组件之…...
【Linux】轻量级应用服务器如何开放端口 -- 详解
一、测试端口是否开放 1、测试程序 TCP demo 程序(可参考:【Linux 网络】网络编程套接字 -- 详解-CSDN博客) 2、测试工具 Windows - cmd 窗口 输入命令:telnet [云服务器的公网ip] [port] 二、腾讯云安全组开放端口 1、安全组设…...
git如何查看密码
git查看用户名、邮箱 git config user.name git config user.email 也可以在系统,用户文件夹下面 gitconfig查看 通常无法查看git密码,运行以下命令 git config credential.helper 查看储存的方式,如果是manage 或manage-store则说明是…...
redis脑裂问题
1. 前言 脑裂就是指在主从集群中,同时有两个主节点,它们都能接收写请求。而脑裂最直接的影响,就是客户端不知道应该往哪个主节点写入数据,结果就是不同的客户端会往不同的主节点上写入数据。而且,严重的话,…...
日本率先研发成功6G设备,刺痛了谁?为何日本能率先突破?
日本率先研发成功6G设备,无线数据速率是5G的百倍,这让日本方面兴奋莫名,毕竟日本在科技方面从1990年代以来太缺少突破的创新了,那么日本为何如今在6G技术上能率先突破呢? 日本在1980年代末期达到顶峰,它的科…...
SpringBoot自动配置源码解析+自定义Spring Boot Starter
SpringBootApplication Spring Boot应用标注 SpringBootApplication 注解的类说明该类是Spring Boot 的主配置类,需要运行该类的main方法进行启动 Spring Boot 应用 SpringBootConfiguration 该注解标注表示标注的类是个配置类 EnableAutoConfiguration 直译&#…...
Kafka 环境配置与使用总结
# 部署教程参考 # 官方教程: https://kafka.apache.org/quickstart # 单机部署kafka参考: https://blog.csdn.net/u013416034/article/details/123875299 # 集群部署kafka参考: # https://blog.csdn.net/zhangzjx/article/details/123679453 # https://www.cnblogs.com/And…...
【算法】滑动窗口——串联所有单词的子串
今天来以“滑动窗口”的思想来详解一道比较困难的题目——串联所有单词的子串,有需要借鉴即可。 目录 1.题目2.下面是示例代码3.总结 1.题目 题目链接:LINK 这道题如果把每个字符串看成一个字母,就是另外一道中等难度的题目,即&…...
等保测评安全物理环境测评讲解
等保测评中的安全物理环境测评主要关注信息系统的物理安全保护措施,确保机房、设备和数据的物理安全。以下是安全物理环境测评的关键点讲解: 1. **物理位置选择**: - 机房应选择在具有防震、防风和防雨能力的建筑内。 - 应避免设在建筑…...
TensorRT-llm入门
一、目录 作用TensorRT-llm 为什么快?流程TensorRT-LLM 环境配置大模型 转换、编译与推理如何选择量化类型?lora 大模型如何合并?lora 大模型如何编译,使用?推理加速模型 tensorrRT-LLM、Vllm、fasterTransformer、Be…...
TinyXML-2介绍
1.简介 TinyXML-2 是一个简单、小巧的 C XML 解析库,它是 TinyXML 的一个改进版本,专注于易用性和性能。TinyXML-2 用于读取、修改和创建 XML 文档。它不依赖于外部库,并且可以很容易地集成到项目中。 tinyXML-2 的主要特点包括:…...
Unity 6升级后频繁闪退?别慌,这8个D3D11崩溃的修复方法亲测有效
Unity 6升级后D3D11崩溃全攻略:从快速修复到深度优化 刚升级到Unity 6的开发者们,是否正被突如其来的编辑器崩溃搞得焦头烂额?那些令人抓狂的"D3D11设备丢失"弹窗,不仅打断工作流,还可能让宝贵项目进度陷入停…...
Claude技能开发实战指南:从入门到精通的认知升级路径
Claude技能开发实战指南:从入门到精通的认知升级路径 【免费下载链接】awesome-claude-skills A curated list of awesome Claude Skills, resources, and tools for customizing Claude AI workflows 项目地址: https://gitcode.com/GitHub_Trending/aw/awesome-…...
LFM2.5-1.2B-Thinking-GGUF算法解析应用:图解经典算法与复杂度分析
LFM2.5-1.2B-Thinking-GGUF算法解析应用:图解经典算法与复杂度分析 1. 算法可视化教学新范式 算法学习一直是计算机科学教育中的难点。传统的教科书讲解方式往往让初学者感到抽象难懂,而LFM2.5-1.2B-Thinking-GGUF模型为算法教学带来了全新的可视化解决…...
MAX32630FTHR平台RF95 LoRa精简移植实战
1. RadioHead库深度解析:面向MAX32630FTHR平台的RF95 LoRa通信精简移植 1.1 项目定位与工程价值 RadioHead并非官方标准协议栈,而是由Airspayce公司开发的一套轻量级、跨平台无线通信抽象库。其设计哲学强调“最小可行通信”——不追求协议完备性&#…...
GLM-4.1V-9B-Base与MATLAB联动:科学计算可视化报告的自动生成
GLM-4.1V-9B-Base与MATLAB联动:科学计算可视化报告的自动生成 1. 科研工作流中的痛点与解决方案 科研人员每天都要面对大量实验数据,从原始数据到最终的可视化报告往往需要经历繁琐的步骤。传统的数据分析流程通常包括:数据整理→MATLAB编程…...
Wan2.2-I2V-A14B镜像免配置:SSH直连后cd /workspace即可执行全部命令
Wan2.2-I2V-A14B镜像免配置:SSH直连后cd /workspace即可执行全部命令 1. 镜像概述与核心优势 Wan2.2-I2V-A14B私有部署镜像是一款专为文生视频模型定制的开箱即用解决方案。这个镜像最大的特点就是"免配置"——通过SSH连接后,只需进入/works…...
终极指南:Czkawka开源文件管理工具,5分钟解决存储空间不足难题
终极指南:Czkawka开源文件管理工具,5分钟解决存储空间不足难题 【免费下载链接】czkawka Multi functional app to find duplicates, empty folders, similar images etc. 项目地址: https://gitcode.com/GitHub_Trending/cz/czkawka 你是否经常遇…...
Shiny框架终极指南:输入控件与输出渲染的完美交互原理
Shiny框架终极指南:输入控件与输出渲染的完美交互原理 【免费下载链接】shiny Easy interactive web applications with R 项目地址: https://gitcode.com/gh_mirrors/sh/shiny Shiny是R语言生态中一款强大的交互式Web应用框架,它让数据科学家和分…...
初识Git,带你深入学习Git相关的知识
在之前的博客中,我都会在博客的开头放一个gitee的链接。Gitee是什么呢?它是一个远程的代码托管库。在我们学习和项目管理的时候起着非常重要的作用。 本期我就带领着大家一起学习Git相关的知识内容。学习它的操作,了解其在企业级开发中的作用…...
解锁JSON Viewer 3大效率黑科技:从数据解析到开发提效的全流程解决方案
解锁JSON Viewer 3大效率黑科技:从数据解析到开发提效的全流程解决方案 【免费下载链接】json-viewer It is a Chrome extension for printing JSON and JSONP. 项目地址: https://gitcode.com/gh_mirrors/js/json-viewer JSON Viewer是一款专为开发者打造的…...
