PyQt在布局下调整控件大小

以水平布局为例
如下图所示在MainWindow中添加三个widget,通过设置StyleSheet分别将其设置为三个颜色便于观察。
在这里插入图片描述

目标1:

  • 使绿色的Widget所占空间最大;
  • 随着页面的横向缩放,蓝色与绿色Widget会改变宽度,红色Widget宽度不变
  • 随着页面的横向放大到一定程度,蓝色widget不再变宽。

实现:

  • 设置红色Widget的sizePolicy如下:
    在这里插入图片描述

  • 设置绿色Widget的sizePolicy与minimumSize如下:
    (注意HorizontalStretch也要设置,否则主窗口缩放时该Widget还是不会变化。)
    在这里插入图片描述

  • 设置蓝色Widget的sizePolicy与maximumSize如下:
    在这里插入图片描述
    结果查看:
    为了更明显观察结果,在每个Widget中都添加一个Label控件,如下图所示:
    在这里插入图片描述
    在这里插入图片描述

主窗口宽度改变:
在这里插入图片描述
在这里插入图片描述

目标2:

  • 使红绿蓝三个色块按照固定比例(如2:3:1)分配整个widget

实现:
通过设置如下内容:
在这里插入图片描述


版权声明:本文为weixin_44571742原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。