PyQt5, GridLayout

图片描述

简介

网格布局小部件提供了一个容器,它容许小部件在动态大小的网格中布局。python

建立方法

gridlayout = QGridLayout()

方法

向项目中的网格布局添加小部件app

gridLayout.addWidget()
gridLayout.addWidget(widget, row, column)
gridLayout.addWidget(widget, row, column, columnspan, alignment)

widget参数表示该部件将被添加到GridLayout的row网格布局的row和"column"。 行和列的值在相似坐标系统上工做,0,0 表示左上角。rowspancolumnspan 的值表示小部件应该跨越多少行和列,最后,alignment参数必须设置为如下其中一个:布局

Qt.AlignmentLeft
Qt.AlignmentRight
Qt.AlignmentHCenter
QT.AlignmentJustify

使用如下其中一种方法向网格布局添加布局:spa

gridlayout.addLayout(widget)
gridlayout.addLayout(widget, row, column)
gridlayout.addLayout(widget, row, column, rowspan, columnspan, alignment)

给定位置检索项目经过如下方法实现:code

gridLayout.itemAtPosition(row, coulumn)

默认状况下,行和列之间没有间距,能够经过如下如下方式调整:图片

Gridlayout.setSpacing(spacing)

另外,垂直和水平间距能够单独指定使用:ci

gridlayouot.setHorizontalSpacing(spacing)
gridlayout.setVerticalSpacing(spacing)

spacing参数应设置为一个整数,表示显示的像素间距数。
行数和列数能够从容器中得到:get

gridlayout.rowCount()
gridlayout.columenCount()

Example

# !/usr/bin/python3

from PyQt5.QtWidgets import \* import sys

class Window(QWidget):
    def __init__(self):
        QWidget.__init__(self)
        
        layout = QGridLayout()
        self.setLayout(layout)
        
        label = QLabel("Label(0, 0)")
        layout.addWidget(label, 0, 0)
        label = QLabel("Label(0, 1)")
        layout.addWidget(label, 0, 1)
        label = QLabel("Label (1, 0) spanning 2 columns")
        layout.addWidget(label, 1, 0, 1, 2)
        label = QLabel("Label (1, 0) soanning 2 rows")
        layout.addWidget(label, 0, 2, 2, 1)

app = QApplication(sys.argv)

screen = Window()
screen.show()

sys.exit(app.exec_())
相关文章
相关标签/搜索