目录
1.4.1 获取指定控件位置的对应矩形对象 cellRect()
2.1.1 设置 setColumnMinimumWidth()
2.3.1 设置 setRowMinimumHeight()
1 基本操作
1.1 构造函数

我们现在简单用一下


1.2 元素操作
1.2.1 控件 addWidget()

有三种写法
- addWidget(self,QWidget)
![]()
后面直接接一个控件,这个方法之前用过,不多介绍了
- addWidget(self, a0: QWidget, row: int, column: int, alignment: typing.Union[QtCore.Qt.Alignment, QtCore.Qt.AlignmentFlag] = ...)
这种写法后面多跟了几个参数,含义如下
- 要添加的控件
- 行
- 列
- 对齐方式
现在我们把label2加到第0行,第1列,中心对齐
加之前是这样的

![]()

- addWidget(self, a0: QWidget, row: int, column: int, rowSpan: int, columnSpan: int, alignment: typing.Union[QtCore.Qt.Alignment, QtCore.Qt.AlignmentFlag] = ...)
这样写多加了两个参数,所有参数如下所示
- 要添加的控件
- 行
- 列
- 跨越多少行
- 跨越多少列
- 对齐方式
加之前是这样的

现在我们加入第0行,第2列,跨越50行,跨越30列,中心对齐
![]()

如果都不加中心对齐是这样的

1.2.2 布局

我们首先创建一个布局管理器

- addLayout(self, a0: QLayout, row: int, column: int, alignment: typing.Union[QtCore.Qt.Alignment, QtCore.Qt.AlignmentFlag] = ...)
加之前是这样的

我们现在将这个布局管理器加到第1行,第0列,中心对齐
![]()

- addLayout(self, a0: QLayout, row: int, column: int, rowSpan: int, columnSpan: int, alignment: typing.Union[QtCore.Qt.Alignment, QtCore.Qt.AlignmentFlag] = ...)
这个方法比上面的那个多加了跨越多少行和跨越多少列,我直接举个例子测试一下
没加前是这样的

我们现在把布局管理器放在第1行,第0为,跨越50行,跨越100列,中心对齐
![]()

如果都不放中心对齐是这样的

- QGridLayout如果在插入控件中有空行或者空列会自动删除掉,然后后面的控件补上
1.2.3 获取

1.2.3.1 位置获取 getItemPosition()
它的参数是布局管理器的第几个元素

想这个图标签1就是第0个控件,标签2是第一个控件,标签3是第二个控件
我们现在获取标签三的位置
![]()
![]()
这个返回值的意思是它起始于第0行,第2列,跨越50行,30列
这个方法是获取指定行列的内容
我们现在获取第0行,第0列的内容
![]()
![]()
1.3 间距

1.3.1 纵向间距
1.3.1.1 设置 setVerticalSpacing()
设置前是这样的

现在我们设置列间距为50
![]()

1.3.1.2 获取 verticalSpacing()

![]()
1.3.2 横向间距
1.3.2.1 设置 setHorizontalSpacing()
设置前是这样的

我们现在设置横向间距为100
![]()

1.3.2.2 获取 horizontalSpacing()

![]()
1.3.3 所有间距
设置之前是这样的

我们现在设置所有间距为50
![]()

1.3.3.2 获取 spacing()

![]()
当水平间距与竖直间距不一致时,会返回-1
1.4 信息获取

当前的窗口是这样的

1.4.1 获取指定控件位置的对应矩形对象 cellRect()
- 这个功能只能在控件展示出来之后使用才有效
我们把它放在window,show()的下面
![]()
![]()
1.4.2 获取列数 columnCount()
![]()
![]()
1.4.3 获取行数 rowCount()
![]()
![]()
1.5 原点角

我们可以将原点置于上左,上右,下左,下右四角中的一角
下面的两个方法都涉及到一个变量Qt.Corner 可选的值如下
- 0 - Qt.TopLeftCorner 左上角
- 1 - Qt.TopRightCorner 右上角
- 2 - Qt.BottomLeftCorner 左下角
- 3 - Qt.BottomRightCorner 右下角
1.5.1 获取 originCorner()
![]()

![]()
1.5.2 设置 setOriginCorner()
现在我们设置原角点为左下角
![]()

2 行宽列高的拉伸系数

2.1 指定列的最小宽度
设置之前我们是这个样子的

2.1.1 设置 setColumnMinimumWidth()
我们现在设置第0列的最小宽度为300
![]()

2.1.2 获取 columnMinimumWidth()

![]()
2.2 列的拉伸系数
2.2.1 设置 setColumnStretch()
![]()
- 在其他列不设置拉伸系数是,其他列默认为最小尺寸

2.2.2 获取 columnStrectch()
现在我们获取第0列的拉伸系数

![]()
2.3 指定行的最小高度
2.3.1 设置 setRowMinimumHeight()
我们现在设置第0行的最小宽度为100
![]()

2.3.2 获取 rowMinimumHeight()
我们现在获取第0行的最小宽度

![]()
2.4 行的拉伸系数
2.4.1 设置 setRowStretch()
我们现在对第0行设置拉伸系数
- 其他未设置拉伸系数的行为最小尺寸
![]()

2.4.2 获取 rowStretch()

![]()
本文详细介绍了QGridLayout的基本操作、元素管理、间距调整、信息获取及行列拉伸系数设置等内容。通过实例演示了如何添加控件、布局管理器,以及如何设置和获取间距。

3644

被折叠的 条评论
为什么被折叠?



