85.尺寸策略

目录

1  QWidget.sizeHint()

2  QWidget.minimumSizeHint()

3  策略取值 setSizePolicy()


1  QWidget.sizeHint()

这个方法会返回控件合适的尺寸大小

这个是内置的建议尺寸,如果想要设置的话,需要重写类中的sizeHint方法

2  QWidget.minimumSizeHint()

这个方法会返回最小的建议大小

这个是内置的建议尺寸,如果想要设置的话,需要重写类中的minimumSizeHint方法

当然它也会对展示有所效果

我们把刚刚的标签搞一个背景色,然后把它放在布局管理器中,这样才能看出来效果

一个是自定义类,一个是QLabel

把它们都放在布局管理器中,然后设置给窗口

这个是我缩放到最小的状态,很明显最小尺寸是不一样的

3  策略取值 setSizePolicy()

可作为参数的值如下

  • QSizePolicy.Fixed() 固定的,参考sizeHint()的返回值
  • QSizePolicy.Minimum 不小于最小尺寸
  • QSizePolicy.Maximum 不大于最大尺寸
  • QSizePolicy.Preferred 可以伸展和收缩,但占用空间的优先级不是最高
  • QSizePolicy.Expanding 可以伸展和收缩,占用空间的优先级最高
  • QSizePolicy.MinimumExpanding 可以伸展和收缩,占用空间的优先级最高,有最小值
  • setSizePolicy(self,QSizePolicy)

这个是传入一个对象进去,用这个的时候要先创建一个对象,创建对象时要放两个政策,第一个横向,第二个纵向

我们测试一下这个怎么用

我们设置横向为建议返回值,纵向至少为最小值

运行之后是这样的

横向拉伸之后发现hello的Label并不会改变

纵向拉伸之后发现他们会一起变大

  • setSizePolicy(self,QSizePolicy.Policy,QSizePolicy.Policy)

这个是放两个策略,第一个应用于横向,第二个应用于纵向

是这样用的

经测试与刚刚的效果相同

其余可作为策略的参数我就不测试了,用到了以后再进行更新

这些同样是可以设置策略的方法,我们之后用到再说

这个功能的作用是,当控件隐藏时,依然保留尺寸策略

我们如果没加这句话隐藏完标签之后就是这样的

加了这句话就是这样的

  • 注:这句话必须放在设置策略之前才有效
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Suyuoa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值