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_())
相關文章
相關標籤/搜索