当前位置: 首页 > news >正文

71常用控件_QHBoxLayout的使用

目录

代码⽰例: 使⽤ QHBoxLayout 管理控件

代码⽰例: 嵌套的 layout


⽔平布局
使⽤ QHBoxLayout 表⽰垂直的布局管理器. H 是 horizontal 的缩写.
核⼼属性 (和 QVBoxLayout 属性是⼀致的)
属性说明
layoutLeftMargin左侧边距
layoutRightMargin右侧边距
layoutTopMargin上方边距
layoutBottomMargin下方边距
layoutSpacing相邻元素之间的间距

代码⽰例: 使⽤ QHBoxLayout 管理控件

1) 编写代码, 创建布局管理器和三个按钮. 并且把按钮添加到布局管理器中
#include "widget.h"
#include "ui_widget.h"
#include <QPushButton>
#include <QHBoxLayout>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);QPushButton* button1 = new QPushButton("按钮1");QPushButton* button2 = new QPushButton("按钮2");QPushButton* button3 = new QPushButton("按钮3");QHBoxLayout* layout = new QHBoxLayout();layout->addWidget(button1);layout->addWidget(button2);layout->addWidget(button3);this->setLayout(layout);
}Widget::~Widget()
{delete ui;
}

2) 运⾏程序, 可以看到此时界⾯上的按钮就存在于布局管理器中. 随着窗⼝尺⼨变化⽽发⽣改变.
此时三个按钮的尺⼨和位置, 都是⾃动计算出来的.

Layout ⾥⾯可以再嵌套上其他的 layout, 从⽽达到更复杂的布局效果.

代码⽰例: 嵌套的 layout

1) 在代码中创建以下内容
使⽤ addLayout 给 layout 中添加⼦ layout.
2) 执⾏程序, 观察结果
结合 QHBoxLayout QVBoxLayout , 就可以做出各种复杂的界⾯了.
布局管理器之间,也能进行嵌套~~

#include "widget.h"
#include "ui_widget.h"
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QPushButton>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);// 创建垂直的布局管理器QVBoxLayout* vlayout = new QVBoxLayout();// 添加两个按钮进去QPushButton* button1 = new QPushButton("按钮1");QPushButton* button2 = new QPushButton("按钮2");vlayout->addWidget(button1);vlayout->addWidget(button2);// 创建水平的布局管理器QHBoxLayout* hlayout = new QHBoxLayout();// 添加两个按钮进去QPushButton* button3 = new QPushButton("按钮3");QPushButton* button4 = new QPushButton("按钮4");hlayout->addWidget(button3);hlayout->addWidget(button4);// 把水平布局管理器添加到垂直布局管理器内部vlayout->addLayout(hlayout);this->setLayout(vlayout);}Widget::~Widget()
{delete ui;
}

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

相关文章:

  • OCS2库及其在足式机器人上的应用
  • 直观地理解程序的堆和栈
  • 三维图形、地理空间、激光点云渲染技术术语解析笔记
  • hot100 -- 11.二分查找系列
  • JVM内存区域与溢出异常详解
  • 算法工程师认知水平要求总结
  • 华为OD机考 - 水仙花数 Ⅰ(2025B卷 100分)
  • 数学建模期末速成 主成分分析的基本步骤
  • Z-FOLD: A Frustratingly Easy Post-Training Quantization Scheme for LLMs
  • 实战:如何用SCINet增强YOLOv8在低照度下的目标检测性能(附完整代码)
  • Linux安全加固:从攻防视角构建系统免疫
  • 打造优质技术文档指南
  • 基于RT-DETR算法的夜间交通车辆与行人目标检测
  • 附加模块--Qt OpenGL模块功能及架构
  • 68常用控件_QGroupBox的使用
  • 【Linux】HAProxy:结合 WG 实现内网 TCP 反代
  • 大数据CSV导入MySQL
  • 微软PowerBI考试 PL300-使用 Power BI 准备数据以供分析【提供练习数据】
  • JDK8新特性之Steam流
  • 通过css实现正方体效果
  • 如何写一篇基于Spring Boot + Vue + 微信小程序的软件的接口文档
  • WEB3全栈开发——面试专业技能点P3JavaScript / TypeScript
  • Secs/Gem第十一讲(基于secs4net项目的ChatGpt介绍)
  • 论文略读:Position: AI Evaluation Should Learn from How We Test Humans
  • SpringCloud学习笔记-4
  • Linux驱动学习day3
  • 动手学深度学习pytorch(第一版)学习笔记汇总
  • 6.8 note
  • el-input,金额千分符自动转换
  • window下配置ssh免密登录服务器