水平布局(QHBoxLayout)有许多属性,这篇文章我们详细了解下这些属性都是怎么使用的
界面设置水平布局
点击水平布局控件(图中QHBoxLayout),在右下角会展示这个控件相关属性
1. layoutName:控件的名称
2. layoutLeftMargin: 控件的左边距;比如我们设置这个值为100,可以看到内部的button距离左侧的边距有了变化
3、layoutTopMargin、layoutRightMargin、layoutBottomMargin:同理,这三个属性分别对应上边距、右边距和下边距,设置后效果如图:
4、layoutSpacing:控件间的间距,效果如图
5、layoutStretch:控制各个控件所占的比例,列表中的每个整数表示对应控件的伸缩因子,列表长度应与布局中的控件数量相等,伸缩因子越大,控件在布局中所占的空间就越大
6、layoutSizeConstraint:控件在适应不同布局大小时,子控件的大小和位置如何变化
- SetDefaultConstraint:使用默认的尺寸,布局没有特定的约束
- SetNoConstraint:布局没有特定的尺寸策略,保持用户设定的已有属性
- SetMinimumSize:布局和其子控件的尺寸至少为设定的最小值,可以随着窗口的增大而增大
- SetFixedSize:控件大小为固定值,不会随着布局大小的变化而变化
- SetMaximumSize:限制控件的最大尺寸,可以随着窗口缩小而缩小
- SetMinAndMaxSize:布局和其子控件的尺寸被限制在设定的最小值和最大值之间
以上是界面编辑水平布局属性的方式,接下来我们看下如何通过代码实现上面的水平布局
代码编辑
1、点击根目录,新建一个Qt设计器界面类的文件
2、选择Widget模板,命名一个myHLayout的界面文件
3、创建好后,双击myHLayout.cpp,在这里我们编辑代码
4、如图中代码,我们先创建一个水平布局,在创建三个button并放进去,这样就编辑好了,然后我们修改main.cpp来展示这个新页面看下效果
5、可以看到pushButton水平排列在窗口中,水平布局就加好了
6、我们可以为水平布局设置一些属性,详见图中代码及注释
7、再次运行看下效果