PyQt5, BoxLayout

圖片描述

BoxLayout簡介

盒子佈局相似於網格佈局, 可是它僅支持單行或一列小部件,具體取決於方向,但它會動態調整其包含的數量或部件的大小。python

建立

boxlayout = QBoxLayout()

方法

使用以方法將小部件插入到BoxLayout中:app

boxlayout.addWidget(widget, stretch, alignment)
boxlayout.insertWidget(index, widget, stretch, alignment)

insertWidget方法中的index表示應該放置子部件的位置。widget參數是添加到BoxLayout的子部件,stretch的值應該設置爲一個整數,表示子部件伸縮的數值,最後,alignment的值能夠設置爲如下之一:佈局

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

佈局對象經過其它方法添加到BoxLayou中:spa

boxlayout.addLayout(layout, stretch)
boxlayout.insertLayout(index, layout, stretch)

每一個子部件之間的像素間距默認爲零,可是能夠經過如下方式配置:code

boxlayout.setSpacing(spacing)

間距也能夠經過如下方式添加到普通窗口小部件中:對象

boxlayout.addSpacing(spacing)
boxlayout.indterSpacing(index, spacing)

spacing的值表示的是要顯示的像素間距的數量,.instertSpacing()方法還須要一個index, 表示的是插入該間距的位置.BoxLayou的方向能夠經過如下方式設置:圖片

boxlayout.setDirection(direction)

direction參數必須設置爲如下之一:ci

QBoxLayout.LeftToRight
QBoxLayout.RightToLeft
QBoxLayout.TopToBottom
QBoxLayout.BottomToTop

Example

# !/usr/bin/python

from PyQt5.QtWidgets import * 
import sys

    class Window(QWidget):
    def __init__(self):
        QWidget.__init__(self)
        
        layout = QBoxLayout(QBoxLayout.LeftToRight)
        self.setLayout(layout)
        
        label = QLabel("Label 1")
        layout.addWidget(label, 0)
        label1 = QLabel("Label 2")
        layout.addWidget(label1, 0 )
        
        layout2 = QBoxLayout(QBoxLayout.TopToBottom)
        layout.addLayout(layout2)
        
        label = QLabel("Label 3")
        layout2.addWidget(label, 0)
        label = QLabel("Label 4")
        layout2.addWidget(label, 0)

app = QApplication(sys.argv)

screen = Window()
screen.show()

sys.exit(app.exec_())
相關文章
相關標籤/搜索