'''
QHBoxLayout()水平布局管理器
QVBoxLayout()水平布局管理器
addWidget(widget): 向布局中添加一個控件。
addLayout(layout): 向布局中添加另一個布局。
設置間距:
setSpacing(space): 設置布局中各部件之間的間距。
setContentsMargins(left,top,right,bottom) :設置邊距
addStretch() 設置擴展銀子
插入控件或布局:
setStretchFactor(widget, stretch): 設置某個控件的伸展因子,以控制其在布局中的相對大小。
'''
from PySide6.QtWidgets import *
class Window(QWidget):
def __init__(self):
super().__init__()
self.resize(500, 300)
self.setWindowTitle("水平布局和垂直布局")
label1 = QLabel("Label1",styleSheet="background-color:cyan")
label2 = QLabel("Label2", styleSheet="background-color:red")
label3 = QLabel("Label3", styleSheet="background-color:yellow")
label4 = QLabel("Label4",styleSheet="background-color:blue")
label5 = QLabel("Label5", styleSheet="background-color:green")
label6 = QLabel("Label6", styleSheet="background-color:gray")
label7 = QLabel("Label7", styleSheet="background-color:black")
# label1.setGeometry(30, 50, 80, 40)
# label2.setGeometry(160, 50, 80, 40)
# label3.setGeometry(290, 50, 80, 40)
# label4.setGeometry(420, 50, 80, 40)
#1 創(chuàng)建水平布局管理器
layout = QHBoxLayout()
#2 添加控件到布局器中
layout.addWidget(label1,)
# layout.addSpacing(50)
layout.addWidget(label2,)
layout.addWidget(label3,)
layout.addWidget(label4,)
# layout.addStretch(1)
#3 設置布局管理器
# layout.setSpacing(80)
# layout.setContentsMargins(50,60,70,80)
v_layout = QVBoxLayout()
v_layout.addWidget(label5)
v_layout.addWidget(label6)
v_layout.addWidget(label7)
v_layout.setStretchFactor(label5,1)
v_layout.setStretchFactor(label6,2)
v_layout.setStretchFactor(label7,2)
layout.addLayout(v_layout)
self.setLayout(layout)
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
win = Window()
win.show()
sys.exit(app.exec())
承擔因您的行為而導致的法律責任,
本站有權(quán)保留或刪除有爭議評論。
參與本評論即表明您已經(jīng)閱讀并接受
上述條款。