当前位置:网站首页 > 技术博客 > 正文

qtablewidget gridline



Qt系列教程总目录

与只能在一个方向布局不同,可以在网格中布局(垂直和水平两个方向)。

在这里插入图片描述

这里仅以按钮为例,布局也可用于其他控件。

一、QGridLayout布局规则

与类似,详见 QBoxLayout布局规则

二、创建QGridLayout

只有一个构造函数

 
  

可以通过拖动控件创建,也可以使用代码直接创建

由于布局是默认铺满父级的,为了方便控制布局的整体大小,一般不是将最外层的窗口传给,而是再新建一个,如下:

 
  

三、成员函数

1. 控件间距

和类似,也有间距的概念,不同是可以设置两个方向的间距,如下:

 
  
2. 可拉伸控件(弹簧)

同样和类似,参考 可拉伸控件 ,相关函数如下:

 
  
3. 最小行高/列宽
 
  
4. 行数和列数
 
  
5. 锁定纵横比

根据宽度计算高度

 
  

这三个函数默认是没有实际功能的,如要使用,需要自己重载实现,他们的源码如下:

 
  

官方给出了重载的例子,如下:

 
  
6. 添加控件
 
  

其中, 如果队列中间有空的位置,也会忽略过,只会在队列最后添加新控件,如下:

在这里插入图片描述

第三行第二列空出一个位置,添加控件后,跳过了该位置,如下:

在这里插入图片描述

如果想一个控件占多行/列,可以使用函数 ,其中,参数和用以指定控件的位置,从开始计数,和 指定从当前位置向右或向下所占的行和列数,如下:

原始布局,为了方便显示控件所占空间,将控件的设置为,使其充满布局单元格(关于详见QGridLayout布局规则):

在这里插入图片描述

示例1:

在的位置添加行控件,所占空间为1行1列,如下:

 
  

在这里插入图片描述

示例2:

在的位置添加行控件,所占空间为2行1列,如下:

 
  

在这里插入图片描述

示例3:

如果和 为,则控件所占控件一直延申到最右和最底部边界,如下:

在这里插入图片描述

7. 添加布局
 
  

布局中还能嵌套布局,函数入参与使用方法和类似,这里不再赘述。

8. 设置栅格布局原点位置
 
  

和的类似,设置布局中控件的排列方向。

其中,是一个枚举如下:

 
  
枚举 值 描述 Qt::TopLeftCorner 0x00000 矩形的左上角 Qt::TopRightCorner 0x00001 矩形的右上角 Qt::BottomLeftCorner 0x00002 矩形的左下角 Qt::BottomRightCorner 0x00003 矩形的右上角

布局原点默认为左上角,如下图:

在这里插入图片描述

右上角如下图,其他方向同理:

在这里插入图片描述

9. 操作布局项

Qt提供了一个布局项的抽象类,提供了对布局中单元格的操作。

这里仅介绍直接涉及到的几个方法,关于更详细的描述见

9.1 访问布局项
 
  

可以通过索引访问,也可以通过所在行列位置访问。

默认计数都是从0开始,需要注意的是,的方式是从远离原点的位置开始计数,行列定位的则是从靠近原点的位置开始计数,如下:

方式:(测试发现的,不知道为什么要这么设计,和习惯用法不同,如果你知道原因欢迎评论区留言)

在这里插入图片描述

行列方式:

在这里插入图片描述

9.2 删除布局项
 
  

这个只能通过索引定位,索引计数方法同上。

在这里插入图片描述

9.3 通过索引获取布局项位置信息
 
  

在这里插入图片描述

9.4 获取布局项数量
 
  

在这里插入图片描述

版权声明


相关文章:

  • 程序员自学网站大全2025-06-18 18:01:02
  • 宿舍管理系统流程2025-06-18 18:01:02
  • java虚拟机机制和原理2025-06-18 18:01:02
  • mc java版和基岩版哪个好2025-06-18 18:01:02
  • layui 关闭弹窗2025-06-18 18:01:02
  • seo搜索引擎优化:基础、案例与实战(第2版)答案2025-06-18 18:01:02
  • delphi 安装2025-06-18 18:01:02
  • oracle游标的用法2025-06-18 18:01:02
  • html教程 pdf2025-06-18 18:01:02
  • mysql触发器语句2025-06-18 18:01:02