Qt -- 界面设计之使用 sizePolicy 属性

一、sizePolicy(大小策略)属性介绍

控件的 sizePolicy 说明控件在布局管理中的缩放方式。Qt提供的控件都有一个合理的缺省sizePolicy,但是这个缺省值有时不能适合 所有的布局,开发人员经常需要改变窗体上的某些控件的sizePolicy。一个QSizePolicy的所有变量对水平方向和垂直方向都适用。下面列举了一些最长用的值:

Fixed:控件不能放大或者缩小,控件的大小就是它的sizeHint。

Minimum:控件的sizeHint为控件的最小尺寸。控件不能小于这个sizeHint,但是可以放大。

Maximum:控件的sizeHint为控件的最大尺寸,控件不能放大,但是可以缩小到它的最小的允许尺寸。

Preferred:控件的sizeHint是它的sizeHint,但是可以放大或者缩小。

Expandint:控件可以自行增大或者缩小。

备注:sizeHint(布局管理中的控件默认尺寸,如果控件不在布局管理中就为无效的值)

二、使用

(一)在UI 设计器中设置

(二)代码实现

    QSizePolicy sizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);
    sizePolicy.setHorizontalStretch(0);
    sizePolicy.setVerticalStretch(0);
    sizePolicy.setHeightForWidth(widgetMain->sizePolicy().hasHeightForWidth());
    widgetMain->setSizePolicy(sizePolicy);

三、案例

将三个按钮放在一个 widget 中,对 widget 设置水平布局,未设置大小策略之前:

在这里插入图片描述

要求:两边按钮水平方向固定大小,中间按钮随着界面的增大而变大,即:

在这里插入图片描述

那么只要设置中间按钮的大小策略为水平方向扩展即可,即:

在这里插入图片描述

 

https://blog.csdn.net/panchang199266/article/details/104718541

 

posted @   手磨咖啡  阅读(10766)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示