空间间隔组(Spacers)-Qt-思维导图-学习笔记

news2024/9/20 19:56:06

空间间隔组(Spacers)

在这里插入图片描述

空间间隔组(Spacers)

(1)Horizontal Spacer:水平间隔

(2)Vertical Spacer:垂直间隔

QSpacerItem

控件简介

  • 继承关系:QSpacerItem 继承自 QLayoutItem

  • 空间提供:QSpacerItem 类在布局中提供空白或空间间隔

  • 布局中的应用:主要用于布局中,以创建水平或垂直的空白区域

    • 水平间隔:提供 Horizontal Spacer,用于在水平方向上创建间隔

    • 垂直间隔:提供 Vertical Spacer,用于在垂直方向上创建间隔

用法示例

  • 使用 4 个按钮,在垂直布局添加垂直间隔与
    按钮 1,在水平布局添加按钮 2~4 与水平间隔

  • 新建例程中不要勾选“Generate form”,默认继承 QMainWindow 类即可

  • mainwindow.h

    • 1 #ifndef MAINWINDOW_H
      2 #define MAINWINDOW_H
      3
      4 #include
      5 #include
      6 #include
      7 #include
      8
      9 class MainWindow : public QMainWindow
      10 {
      11 Q_OBJECT
      12
      13 public:
      14 MainWindow(QWidget parent = nullptr);
      15 ~MainWindow();
      16
      17 private:
      18 /
      按钮对象数组 */
      19 QPushButton bt[4];
      20 /
      垂直间隔 */
      21 QSpacerItem vSpacer;
      22 /
      水平间隔 */
      23 QSpacerItem hSpacer;
      24 /
      声明一个 widget 用来存放布局的内容 */
      25 QWidget widget;
      26 /
      主布局对象 */
      27 QHBoxLayout mainLayout;
      28 /
      垂直布局对象 */
      29 QVBoxLayout vBoxLayout;
      30 /
      水平布局对象 */
      31 QHBoxLayout *hBoxLayout;
      32
      33 };
      34 #endif // MAINWINDOW_H
  • mainwindow.cpp

    • 1 #include “mainwindow.h”
      2
      3 MainWindow::MainWindow(QWidget parent)
      4 : QMainWindow(parent)
      5{
      6 /
      设置主窗体显示位置与大小 /
      7 this->setGeometry(0, 0, 800, 480);
      8
      9 widget = new QWidget(this);
      10 /
      居中 widget /
      11 this->setCentralWidget(widget);
      12
      13 /
      实例化对象 /
      14 vSpacer = new QSpacerItem(10, 10,
      15 QSizePolicy::Minimum,
      16 QSizePolicy::Expanding
      17 );
      18 hSpacer = new QSpacerItem(10, 10,
      19 QSizePolicy::Expanding,
      20 QSizePolicy::Minimum
      21 );
      22
      23 vBoxLayout = new QVBoxLayout();
      24 hBoxLayout = new QHBoxLayout();
      25 mainLayout = new QHBoxLayout();
      26
      27 /
      在 vBoxLayout 添加垂直间隔 /
      28 vBoxLayout->addSpacerItem(vSpacer);
      29
      30 QList list;
      31 /
      将字符串值插入 list /
      32 list<<“按钮 1”<<“按钮 2”<<“按钮 3”<<“按钮 4”;
      33 /
      用一个循环实例化 4 个按钮 /
      34 for(int i = 0; i < 4 ; i++){
      35 bt[i] = new QPushButton();
      36 bt[i]->setText(list[i]);
      37 if (i == 0){
      38 /
      按钮 1,设置为 100100 /
      39 bt[i]->setFixedSize(100, 100);
      40 /
      在 vBoxLayout 添加按钮 1 /
      41 vBoxLayout->addWidget(bt[i]);
      42 } else {
      43 /
      按钮 2~4,设置为 60
      60 /
      44 bt[i]->setFixedSize(60, 60);
      45 /
      在 hBoxLayout 添加按钮 2~4 /
      46 hBoxLayout->addWidget(bt[i]);
      47 }
      48 }
      49 /
      在 hBoxLayout 添加水平间隔 /
      50 hBoxLayout->addSpacerItem(hSpacer);
      51
      52 /
      在主布局里添加垂直布局 /
      53 mainLayout->addLayout(vBoxLayout);
      54 /
      在主布局里添加水平布局 /
      55 mainLayout->addLayout(hBoxLayout);
      56
      57 /
      设置部件间距 /
      58 mainLayout->setSpacing(50);
      59 /
      将主布局设置为 widget 的布局 */
      60 widget->setLayout(mainLayout);
      61
      62 }
      63
      64 MainWindow::~MainWindow()
      65 {
      66 }
  • main.cpp

    • 由新建项目时生成,无改动

运行效果

  • 在垂直布局里添加了垂直空间间隔与按钮 1,在水平布局里添加了按钮 2~4 与水平空间间隔

  • 图解

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

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

相关文章

面试必备之——TCP/UDP(二)

TCP流量控制 让发送方发送的速率不要太快&#xff0c;要让接收方开的及接收&#xff0c;防止发送方发送太快&#xff0c;导致接收方来不及接收。是端到端之间的控制 滑动窗口是实现流量控制的方法之一 TCP流量控制-滑动窗口 滑动窗口是传输层进行流控的一种措施&#xff0c;…

电脑版视频剪辑软件哪个好?适合新手使用的剪辑软件!

电脑版视频剪辑软件哪个好&#xff1f;在电脑版视频剪辑软件的选择上&#xff0c;每位用户都有其独特的偏好和需求。对于初学者而言&#xff0c;寻找一款操作简便、功能齐全的软件至关重要。为大家推荐几款常用的视频剪辑软件&#xff1a; 1、福昕视频剪辑 2、HitFilm 3、DaVin…

天了噜,IDEA竟然还有这种坑!

问题描述 IDEA 编辑器 idea Cannot resolve symbol 鼠标聚焦时&#xff0c;错误信息为&#xff1a;” idea Cannot resolve symbol “ IDEA自动修复功能 提示信息如下&#xff0c;然而并没有什么卵用。 问题梳理&#xff1a; IDEA 这个目录下的包都引入不了 import org.s…

Redis的分布式部署方案-哨兵

Redis 的主从复制模式下&#xff0c;⼀旦主节点由于故障不能提供服务&#xff0c;需要⼈⼯进⾏主从切换&#xff0c;同时⼤量 的客⼾端需要被通知切换到新的主节点上&#xff0c;对于上了⼀定规模的应⽤来说&#xff0c;这种⽅案是⽆法接受的&#xff0c; 于是 Redis 从 2.8 开…

uniapp加载第三方字体方案对比(附原生微信小程序方案)

文章目录 官方文档uniapp文档微信小程序文档 下载字体包引入方案限制微信小程序限制uniapp的限制 方案对比方案1&#xff1a;CSS本地加载方案2&#xff1a;CSS远程加载方案3&#xff1a;转换为base64&#xff0c;然后通过css引入方案4&#xff1a;使用uni.loadFontFace() 页面使…

手撕初阶数据结构之---排序

1.排序概念及运用 排序&#xff1a;所谓排序&#xff0c;就是使⼀串记录&#xff0c;按照其中的某个或某些关键字的⼤⼩&#xff0c;递增或递减的排列起来的操作。 常见的排序算法 直接插入排序的时间复杂度是O(N^2) 这个是最差的情况下&#xff0c;就是大的在前面&#xff…

30kw 可调恒流电子负载,你了解多少?

30kW可调恒流电子负载&#xff0c;是一种用于测试电源、蓄电池、发电机等电力设备的设备。它的主要功能是模拟实际负载&#xff0c;通过调节电流的大小&#xff0c;来检测电力设备的工作性能和稳定性。 让我们了解一下什么是电子负载。电子负载是一种可以吸收或提供电能的设备&…

【数据分析---偏企业】 Excel操作

各位大佬好 &#xff0c;这里是阿川的博客&#xff0c;祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 Excel操作前 必看 Python 初阶 Python—语言基础与…

[MRCTF2020]套娃 php字符串解析绕过,jsfuck编码

进来看到代码 <!-- //1st $query $_SERVER[QUERY_STRING];if( substr_count($query, _) ! 0 || substr_count($query, %5f) ! 0 ){die(Y0u are So cutE!); }if($_GET[b_u_p_t] ! 23333 && preg_match(/^23333$/, $_GET[b_u_p_t])){echo "you are going to th…

超维室外轮式巡检机器人打造无人值守变电站

变电站是电力系统的重要组成部分&#xff0c;负责电能的转换、分配和传输&#xff0c;确保电力供应的稳定性和安全性。然而&#xff0c;由于变电站内设备众多、环境复杂、风险较高&#xff0c;传统的人工巡检方式面临着效率低下、成本高昂和人员安全隐患等问题。为应对这些挑战…

苹果iOS 18 Beta 6更新亮点一览:这些新功能让你爱不释手

苹果公司作为全球科技行业的领军者&#xff0c;每一次的系统更新都备受业界和消费者的关注。 iOS系统作为苹果设备的核心&#xff0c;其每一次迭代都带来了新功能和优化&#xff0c;极大地提升了用户体验。2024年8月13日&#xff0c;苹果向iPhone用户推送了iOS 18 Beta 6更新&…

水印去除方法

有一批建筑图去水印&#xff0c;水印的位置基本位于左右下角或者图片中间&#xff0c;因此调研一些去水印的方法&#xff0c;以前做电商图场景的水印去除或者印章去除的话&#xff0c;通常会训练一个unet来做这个事情。 1.工具 3 秒去水印&#xff01;6 款超好用的免费图像去…

Endnote与word关联 解决方案: COM加载项-----》CWYW插件安装

1、首先说一下本次情况&#xff0c;office的版本是2019&#xff0c;后安装的Endnote 9。旧版word也可按此方法尝试。 2、先找到关键的EndNote Cwyw.dll文件。应在此目录下&#xff1a;C:\Program Files (x86)\EndNote X7\Product-Support\CWYW。 3、如没有EndNote Cwyw.dll文…

DETR论文,基于transformer的目标检测网络 DETR:End-to-End Object Detection with Transformers

transformer的基本结构: encoder-decoder的基本流程为&#xff1a; 1&#xff09;对于输入&#xff0c;首先进行embedding操作&#xff0c;即将输入映射为向量的形式&#xff0c;包含两部分操作&#xff0c;第一部分是input embedding&#xff1a;例如&#xff0c;在NLP领域&…

DevEco Studio 5.0 Beta版下载链接

最新工具 - 下载中心 - 华为开发者联盟 (huawei.com)https://developer.huawei.com/consumer/cn/download/

代码随想录算法训练营第十三天

day12周日放假 二叉树理论基础: 文章链接:代码随想录 文章摘要: 满二叉树定义&#xff1a;如果一棵二叉树只有度为0的结点和度为2的结点&#xff0c;并且度为0的结点在同一层上&#xff0c;则这棵二叉树为满二叉树。 完全二叉树定义&#xff1a;在完全二叉树中&#xff0c…

springboot限流验证码登录接口(优雅版)

我们的业务逻辑是如图所示&#xff0c; 限流思路 我们 实现登录接口之后&#xff0c;我们想像这么一个场景&#xff0c;因为我们的登录接口在我们的拦截器中是放行的&#xff0c;如果这时候有人恶意来爆刷我们的登录接口&#xff0c;那我们的这个接口不就爆掉了吗&#xff0c…

【车载开发系列】使用J-Flash下载Hex文件

【车载开发系列】使用J-Flash下载Hex文件 【车载开发系列】使用J-Flash下载Hex文件 【车载开发系列】使用J-Flash下载Hex文件概要1. 打开J-Flash软件2. 创建新的工程3. 选择芯片类型4. 打开HEX文件5. 连接芯片6. 擦除目标扇区&#xff08;可选&#xff09;7. 烧写文件到目标扇区…

计算机毕业设计PySpark+Django农产品推荐系统 农产品爬虫 农产品商城 农产品大数据 农产品数据分析可视化 PySpark Hadoop

本科生毕业实习与设计&#xff08;论文&#xff09; 基于协同过滤的农产品推荐系统 Agricultural products recommendation system based on Collaborative filtering 学 院&#xff1a; 机械工程学院&#xff08;楷体_GB2312四号&#xff0c;下同&#xff09; …