PyQt5 -day3-2 箱式布局
QHBoxLayout和QVBoxLayout是基本的布局类,它们在水平和垂直方向上排列小部件。
1 import sys 2 from PyQt5.QtWidgets import (QApplication,QWidget ,QPushButton,QHBoxLayout, QVBoxLayout) 3 4 class Example(QWidget): 5 def __init__(self): 6 super().__init__() 7 self.Init_UI() 8 def Init_UI(self): 9 self.setGeometry(300,300,300,200) 10 self.setWindowTitle('标题') 11 12 btn1 = QPushButton('剪刀',self) 13 btn2 = QPushButton('石头',self) 14 btn3 = QPushButton('布',self) 15 16 hbox = QHBoxLayout() 17 hbox.addStretch(1) 18 hbox.addWidget(btn1) 19 hbox.addWidget(btn2) 20 hbox.addWidget(btn3) 21 22 vbox = QVBoxLayout() 23 vbox.addStretch(1) 24 vbox.addLayout(hbox) 25 26 self.setLayout(vbox) 27 28 self.show() 29 if __name__ == '__main__': 30 app = QApplication(sys.argv) 31 ex = Example() 32 sys.exit(app.exec_())
注释:
1.hbox.addStretch(1)
后面参数 1 的意思是指: 水平方向中,除了控件之外的空白部分,分成一份, 这个拉伸因子 占一份,就是占100%的 空白位置
2.在这个例子中hbox 中 指添加了一个拉伸因子, 如果他添加了多个拉伸因子, 并且后面参数不同的时候,(例如下面的代码)
1 hbox = QHBoxLayout() 2 hbox.addStretch(3) 3 hbox.addWidget(btn1) 4 hbox.addStretch(2) 5 hbox.addWidget(btn2) 6 hbox.addStretch(5) 7 hbox.addWidget(btn3)
这时候,每个拉伸因子所占位置的比例:
把3个拉伸因子后面的参数加起来 等于 10,第一个占 3/10,第二个占2/10,第三个占 5/10
posted on 2018-03-08 20:48 jiayou888888 阅读(188) 评论(0) 编辑 收藏 举报