(翻译--qt风格化widget)Customizing Qt Widgets Using Style Sheets

Customizing Qt Widgets Using Style Sheets

当使用 style sheets ,每一个 widget 被看做一个 box 带有四个同心的矩形。空白矩形,边界矩形,底衬矩形,内容矩形。 Box model 描述这个在后面的章节。
盒子模型:
四个中心矩形像下面:
margin, border-width,padding 属性缺省都是 0 。在那种情况下,所有四个矩形( margin border padding content )同时发生。
你能说明一个北京为 widget ,使用 background-image 属性。缺省的,背景图片是被画,只是为边界内的区域。这能被改变,使用 background-clip 属性。你能使用 background-repeat background-origin 来控制背景图片的重复和来源。
一个背景图片不随着 widget 的大小成比例。为了提供一个 skin 或者与 widget 成比例的背景,必须使用 border-image 。因为 border-image 属性提供一个可变的背景,他不要求来说明一个背景图片,当 border-image 是特定的。在这种情况下,当他们都是特定的, border-image 画背景图片。
此外, image 属性可以用来画一个图片在 border-image 上。特定的图片不伸缩,当他的大小不适合 widget 的大小。他的排列是特定的,使用 image-position 属性。不像背景图片和边界图片,一个他可能特定一个 SVG 在图片属性中。在这种情况下,图片是自动伸缩。
Render 一个规则的步骤:
设置 clip 为整个 rendering 操作( border-radius
画背景( background-image
画边界( border-image border
画遮盖图片( image
微调:
一个 widget 是被看做一个微调的等级( tree )。例如, QComboBox drop-down 微调和 down-arrow 。一个 QComboBox rendered 像下面:
Render QComboBox{} 规则
Render QComboBox::drop-down{} 规则
Render QComboBox::down-arrow{} 规则
微调分享一个父子关系。在这种情况下, down-arrow 的父类,是 drop-down drop-down 的父类是 widget 。微调是定位在他们的父类。使用 subcontrol-position subcontrol-origin 属性。
一旦定位,微调能被风格化,使用 box model
注意:
复杂的 widget ,像 QComboBox QScrollBar 。如果一个属性或者微调是定制,所有其他的属性或者微调必须也被定制。
 

你可能感兴趣的:(职场,休闲)