您的位置:首页 > 理论基础 > 计算机网络

Qt中的 Size Hints 和 Size Policies(http://blog.csdn.net/ggicci/article/details/8116963?utm_source=tuicool)

2015-07-08 22:46 549 查看
http://blog.csdn.net/ggicci/article/details/8116963?utm_source=tuicool

Qt 中的 sizeHint 属性,sizeHint() 如何使用?

Qt 中的 minimumSizeHint 属性,minimumSizeHint() 如何使用?

Qt 中的 sizePolicy 属性,setSizePolicy()、sizePolicy()如何使用?

之前一直对这几个属性搞不清楚,前几天仔仔细细地看了文档解释并做了一些测试,现在来归纳一下:

首先我们得知道这几个属性保存的值是什么,它们分别是用来干什么的。

sizeHint

[From Qt Doc: This property holds the recommended size for the widget. If the value of this property is an invalid size, no size is recommended. The default implementation of sizeHint() returns an invalid size if there is no layout for this widget, and returns the layout's preferred size otherwise. ] 这个属性所保存的 QSize 类型的值是一个被推荐给窗口或其它组件(为了方便下面统称为widget)的尺寸,也就是说一个 widget 该有多大,它的一个参考来源就是这个 sizeHint 属性的值,而这个值由 sizeHint() 函数来确定。但是 widget 的大小的确定还有其它因素作用,下面会讲到。现在只需知道 sizeHint() 会返回一个被推荐的尺寸。那么这个尺寸的取值是怎样的呢?当它是一个无效值的时候(sizeHint().isValid() 返回 false,QSize 中 width 或者 height 有一个为复数就会是无效的),什么作用也没有;当它是一个有效值的时候,它就成了 widget 大小的一个参考。Qt 中对 sizeHint() 的默认实现是这样的:当 widget 没有布局(layout),返回无效值;否则返回其 layout 的首选尺寸(preferred size)。
[code]




[/code]

[code][code]



[/code]
[/code]
[code]









[/code]
[/code]
[code]




[/code]
[/code]
[code]







[/code]
[/code]
[code]







[/code]
[/code]
[code]










[/code]
[/code]
[code]










[/code]
[/code]
button2更牛B(在水平方向上构成竞争关系):




有了上述的样例,QSizePolicy::Minimum, QSizePolicy::Maximum, QSizePolicy::MinimumExpanding, QSizePolicy::Ignored 就比较好理解了吧,亲
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: