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

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.xdnf.cn/news/12923.html

相关文章:

  • 浅谈未来汽车电子电气架构发展趋势中的通信部分
  • 【无人机】MavLink通讯协议的回调解析函数及状态机
  • AtCoder Beginner Contest 409(ABCDEF)
  • 深入解析对比学习:原理、应用与技术实现
  • 前端打包工具简单介绍
  • JavaWeb 三层架构简单介绍与案例实现
  • QEMU源码全解析 —— 块设备虚拟化(24)
  • 【Linux应用】Linux系统日志上报服务,以及thttpd的配置、发送函数
  • Java八股文——并发编程「场景篇」
  • 湖北理元理律师事务所实务手记:个人债务管理的理性突围
  • 65、.NET 中DllImport的用途
  • 轻量级数学竖式训练方案解析
  • Go语言多线程问题
  • Java 中字节流的使用详解
  • 用 AI 开发 AI:原汤化原食的 MCP 桌面客户端
  • UDP连接套接字与异步Socket通道详解
  • Java核心技术-卷I-读书笔记(第十二版)
  • ESP12E/F 参数对比
  • 单线程模型中消息机制解析
  • Map 接口
  • 【学习笔记】0-RTT
  • 强化学习入门:交叉熵方法数学推导
  • 支付系统架构图
  • 算法-构造题
  • 嵌入式学习--江协stm32day4
  • 哈佛总线架构是什么?
  • 随机访问介质访问控制:网络中的“自由竞争”艺术
  • stm32_LAN8720驱动
  • atc abc409E
  • 【Vue3】(三)vue3中的pinia状态管理、组件通信