QT布局管理器

QT主要布局管理器分类

QHBoxLayout(水平布局)

把子窗口从左到右排列在一个水平行上。

运行结果:

QVBoxLayout(垂直布局)

把子窗口从上到下排列在一个垂直列上。

运行结果:

QGridLayout(表格布局)

把子窗口排列在一个二维的网格中,窗口可占据多个单元格。

QGridLayout::addWidget()语法:

layout->addWidget(widget, row, column, rowSpan, columnSpan);

widget:为插入到这个布局的子控件;

(row,column)为控件占据的左上角单元格位置;

rowSpan是控件占据的行数,colunmSpan是控件占据的列数。

(rowSpan和colunmSpan默认值为1)

运行结果:

Stacked Layouts(分组布局)

QStackedLayout类把子控件进行分组或者分页,一次只显示一组或者一页,隐藏其他组或者页上的控件。

接口:

int addWidget(QWidget * widget)

添加页面,并返回页面对应的索引

int count() const

获取页面数量

int currentIndex() const

获取当前页面的索引

QWidget * currentWidget() const

获取当前页面

int indexOf(QWidget * widget) const

获取QWidget页面所对应的索引

int insertWidget(int index, QWidget * widget)

在索引index位置添加页面

void removeWidget(QWidget * widget)

移除QWidget页面,并没有被删除,只是从布局中移动,从而被隐藏。

QWidget * widget(int index) const

获取索引index所对应的页面

Form Layout布局设置(表格布局)

专门用于管理输入控件和与之相关的标签等表单布局,QFormLayout固定为两列布局,并针对表单做了建模,配套了一堆方便使用的函数。网格布局器的基本单元是单元格,而表单布局器的基本单元是行。表单布局器是高度建模并封装的,它没有 addWidget()和 addLayout()之类的函数,它只有addRow()函数。表单布局器中一行的空间可以由多个控件占据,也可以由一个控件占据。

QSpliter分割器的作用

分裂器 QSplitter 是一个实体功能控件,它的基类是 QFrame,QFrame 基类正是 QWidget。QSplitter 可以独立存在,可以作为父窗口容纳多个子控件,分裂器会完全拥有内部的子控件。在 Qt 设计师或 QtCreator 设计模式左边 Widget Box 里面没有分裂器可以拖动,使用分裂器的方式是:选中已有的控件,然后点击上面工具栏的水平分裂器或垂直分裂器按钮。比如上图是将三个丰富文本编辑器作为一个水平分裂器排布 的。分裂器内每个控件都有一个手柄 Handle,水平分裂器内控件的手柄在左边,垂直分裂器内控件的手柄在控件上方。第 0 个控件的手柄是永久隐藏的,分裂器自身占据的大矩形四个边界线通常不能拖动拉大,只能拖动控件之间的手柄,比如上图的手柄 1 和 手柄 2 。分裂器整体的尺寸不是用户控制的,而在分裂器内部的控件尺寸可以让用户手工拖动手柄来控制。在程序运行时,水平分裂器内各个控件的宽度、垂直分裂器内部各个控件的高度, 一般都是用户拖动手柄控制,这是分裂器和布局器最大的不同。

QT中有三种方式对窗体上的控件进行布局管理:绝对位置定位(absolute positioning),手工布局(manual layout),布局管理器(layout managers)

绝对位置定位(控件布局是固定位置,没有自适应功能)

手工布局给出控件的绝对位置,但是他们的尺寸根据窗口的大小确定,可以通过重写窗体控件的resizeEvent()实现对子控件的大小设置。

布局管理器,运用QHBoxLayout、QVBoxLayout、QGridLayout、QFormLayout、QStackLayout等布局。

Original: https://www.cnblogs.com/zhoug2020/p/16395403.html
Author: 莫水千流
Title: QT布局管理器

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/554562/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • C++const

    class A { private: const int a; // 常对象成员,可以使用初始化列表或者类内初始化 public: // 构造函数 A() : a(0) { }; …

    技术杂谈 2023年7月24日
    060
  • 数组遍历

    1.1 分析题意 首先:我们求的是连续的1的个数,所以我们不能也没必要对数组进行排序; 其次:只要求求出最大连续1的个数,并不要求具体的区间数目,所以我们只需要用一个值来记录这个结…

    技术杂谈 2023年6月21日
    075
  • 会员服务优雅上下线实践

    会员服务优雅上下线实践 https://mp.weixin.qq.com/s/rxHXhu6NsDWcuutSz13HpA Original: https://www.cnblog…

    技术杂谈 2023年5月31日
    092
  • poj 3077Rounders(模拟)

    Description For a given number, if greater than ten, round it to the nearest ten, then (if…

    技术杂谈 2023年5月31日
    097
  • PPT中插入个性化页码

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/hxsyl/p/6526279.htmlAuthor: …

    技术杂谈 2023年5月31日
    081
  • Do the JSON keys have to be surrounded by quotes?(转载)

    Or should I always use the following syntax? (And if so, why?) I haven’t really foun…

    技术杂谈 2023年5月31日
    096
  • Oracle:不能使用AS关键字来命名表别名

    posted @2021-06-07 21:24 Mr_伍先生 阅读(338 ) 评论() 编辑 Original: https://www.cnblogs.com/mr-wuxi…

    技术杂谈 2023年5月31日
    088
  • Centos 7 查看磁盘io ,找出占用io读写很高的进程

    原文: https://blog.csdn.net/ichen820/article/details/117741734 1,先用iostat查看磁盘io 是否读写负载很高 用io…

    技术杂谈 2023年5月31日
    0109
  • Sql的字符串匹配 like

    患者信息表: Patients +————–+———+ | Column Name | Type | +————–+——–…

    技术杂谈 2023年6月21日
    0102
  • cuda安装及百度云链接

    1、cuda11.1、11.0、10.2、10.1、10.0、8.0及其相应的cudnn版本 本篇文章是基于移动端1050ti win10安装CUDA 10.0的经验写,由于官网下…

    技术杂谈 2023年7月24日
    075
  • HIT软构博客6-设计模式

    设计模式可以分为1.创建型模式 2.结构型模式 3.行为类模式 1.创建型模式 ​ 工厂方法模式 ​ 当client不知道要创建哪个类的具体实例或不想在客户端代码指明要创建具体哪个…

    技术杂谈 2023年7月11日
    072
  • 归并排序

    跳转地址 归并排序的重点是合并,利用双指针算法,排序的是否稳定是指如果两个数的大小相同,在经过排序后相对位置不变,那么这个排序就是稳定的,否则就是不稳定的 归并排序的思路是将数组按…

    技术杂谈 2023年6月21日
    097
  • shopify主题模板速度优化

    前两天一位新客户说他的shopify店铺加载速度很慢,首页完全加载需要 5~6 秒甚至更高,问ytkah有没办法帮忙优化一下。shopify网站速度优化要看具体用了什么模板,有什么…

    技术杂谈 2023年5月31日
    096
  • 2022.17 技术人书单

    读书是投资自我性价比最高的方式,是开阔自己视野、提升自己认知的最快捷方式,今天是第26个世界读书日,就推荐一些个人看过或最近想看的技术书吧。 从网上找了几个书单,发现目前想说的书都…

    技术杂谈 2023年5月30日
    099
  • NYOJ127 星际之门(一)【定理】

    描写叙述 公元3000年,子虚帝国统领着N个星系,原先它们是靠近光束飞船来进行旅行的,近来,X博士发明了星际之门,它利用虫洞技术。一条虫洞能够连通随意的两个星系,使人们不必再待待便…

    技术杂谈 2023年5月31日
    0110
  • 最左前缀有手就会,那索引下推呢?

    联合索引的最左前缀原则属于面试高频题,想必大部分同学都知道一些,但是,那些不符合最左前缀的部分,会怎么样呢(索引下推) 索引下推不算高频题,知道的同学应该不是很多(不过并不代表有啥…

    技术杂谈 2023年7月25日
    0241
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球