手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

pyqt5-如何设置盒子布局的空白和拉伸

时间:2024-10-13 12:02:05

盒子布局的空白设置,以及控件的拉伸,空白的拉伸等操作和注意事项。注意:盒子布局是垂直和水平布局的直接父类,所以它的功能完全能应用于垂直布局和水平布局。

工具/原料

python3.7版

pycharm 社区版

1.展示父窗口并创建盒子布局:

1、创建父窗口控件:①创建文件-test3.py;②导入模块,PyQt5.Qt, sys;③定义控件类 MyToot,设置初始值。----定义setup_ui()方法,在构造函数中调用;----定义一个test()方法,在setup_ui()中调用,④实例应用程序对象,窗口类对象,并展示窗口;

pyqt5-如何设置盒子布局的空白和拉伸

2、实例盒子布局对象,:layout_box = QBoxLayout(2, self)并添加3个label 控件;

pyqt5-如何设置盒子布局的空白和拉伸

2.给布局添加空白:

1、给两个控件间添加空白:addSpacing(p_int) ,如图,给 lb1, lb2之间 添加宽度为50的空白。注:添加的空白在父窗口缩放时宽度是不会改变的。

pyqt5-如何设置盒子布局的空白和拉伸

2、插入空白:insertSpacing(p_int, p_int_1)参数p_int是布局的位置索引,p_int_1空白宽度(或高度)。注:插入的空白在父窗口缩放时宽度(或高度)是不会改变的。

pyqt5-如何设置盒子布局的空白和拉伸

3.布局,和控件的拉伸

1、控件加入布局时设置拉伸:在 addWidget(兑恶铼融QWidget),insertLayout(p_int, QLayout),方法中都有一个关键字参数,stretch;就是设置控件的拉伸,默认值是0。例如图:在盒子布局中有三个控件都设置了参数拉伸比,layout_b.addWidget(pt1,stretch=7)layout_b.addWidget(pt2,stretch=3layout_b.insertLayout(0,ly,stretch=1)注意,控件默认缩小到系统建议的尺寸(例如文本的宽度),所以缩小时,到最小尺寸,控件比例会不同。

pyqt5-如何设置盒子布局的空白和拉伸

2、布局添加空白拉伸:addStretch(stretch=0)①这等于说是给控件间添加了一个空白控件,并把它两边,或上下的控件向两端推,像弹簧一样。②它与添加空白的区别就在于,拉伸的宽或高是可变的,而添加空白的宽度或高度是不变的。例如图。

pyqt5-如何设置盒子布局的空白和拉伸

3、拉伸的注意事项:①布局在添加控件时的拉伸默认为 stretch=0;②给布局添加的拉玮垴阆苍伸,会优先于控件占取布局的空白。所以假如,控件没有设置拉伸,而着抹较氰控件中间又添加了拉伸的空白,那么控件将被排挤到最小。例如如图:可以看到,在标签控件 (拉伸为默认值0 )中间,添加拉伸后,即使拉伸是默认的0,也会把标签控件排挤到最小。

pyqt5-如何设置盒子布局的空白和拉伸

4、给控件设置拉伸因数:setStretchFactor(QWidget, int)①第一个参数是控件,第二个参数是拉伸因数。②如图,给lb1设置拉伸因数10,而其他的控件与空白都是0,所以lb1,占据了所有空白。即使拉伸因数设置为1,也会占据所有空白。

pyqt5-如何设置盒子布局的空白和拉伸

5、当一个布局里嵌套了一个子布局时,给子布局设置拉伸因数:setStretchFactor(QLayout, int)第一参数是,子布局,第二参数拉伸因数。如图,①给layout_box,添加一个垂直布局,有两个按钮控件。②给子布局设置了拉伸因子后,其才会跟随窗口缩放。

pyqt5-如何设置盒子布局的空白和拉伸
© 手抄报圈