使用样式表自定义widget
来源:互联网 发布:在淘宝买拍卖车的经历 编辑:程序博客网 时间:2024/04/28 12:43
Customizing Qt Widgets Using Style Sheets
使用样式表自定义Qt Widgets
当使用样式表的时候,每一个widget都被当作一个带有四个同中心的矩形Box来对待:
margin矩形,border矩形,padding矩形和content矩形。进一步详细地描述这个盒子模型。
The Box Model
四个同中心矩形从概念上将如下
1)margin在border外面
2)border在margin和padding之间
3)padding出现在border里面,在border和真实的content之间
4)content将离开初始的widget或者subcontrol一旦我们移除了margin,border,padding
margin,border-width和padding属性默认是0。在这种情况下,四个矩形是高度一致的。
你可以为widget指定一个背景使用background-image属性。默认地,background-image只被绘制在border区域内。这可以使用background-clip属性来改变。你可以使用backgroud-repeat和background-origin来控制背景图的重复和起点。
一个背景图不会依据widget的大小来变化比例。为了提供一个"skin"或者背景可以依widget的大小变化,必须使用border-image。因为border-image属性提供可替代的背景,它不是必须指定一个background-iamge当border-image被指定的时候。当两者都指定的时候,border-image会覆盖background-image。
另外,image属性通常绘制图片在border-image上面。被指定的image不会平铺或者拉伸并且当它的大小不匹配widget的大小时,它的对其方式使用image-position属性来指定。不想background-image和border-image,image也可以指定一个SVG,SVG市一中可以根据widget的大小自动伸缩的图像。
呈现一个规则的步骤如下
设置clip为整个渲染操作(border-radius)
绘制背景(background-image)
绘制边界(border-image,border)
绘制覆盖图片(image)
Sub-controls子控制器
一个widget应该将sub-controls的绘制层次树考虑在内。例如QComboBox绘制drop-down子控制器跟着是down-arrow子控制器。一个QComboBox根据下面的顺序被渲染
渲染QComboBox规则
渲染QComboBox::drop-down{}规则
渲染QComboBox::down-arrow{}规则
子控制器共享一个父子关系,对于QComboBox来说down-arrow的父亲是drop-down,drop-down的父亲是widget自己。子控制器使用subcontrol-position和subcontrol-origin属性放置在它们的父亲里。
一旦被放置,sub-control将使用box model来设计
注意:对于复杂的widgets比如QComboBox和QScrollBar,如果一个属性或者子控制器被自定义,所有的其他属性或者子控制器也应该被自定义。
使用样式表自定义Qt Widgets
当使用样式表的时候,每一个widget都被当作一个带有四个同中心的矩形Box来对待:
margin矩形,border矩形,padding矩形和content矩形。进一步详细地描述这个盒子模型。
The Box Model
四个同中心矩形从概念上将如下
1)margin在border外面
2)border在margin和padding之间
3)padding出现在border里面,在border和真实的content之间
4)content将离开初始的widget或者subcontrol一旦我们移除了margin,border,padding
margin,border-width和padding属性默认是0。在这种情况下,四个矩形是高度一致的。
你可以为widget指定一个背景使用background-image属性。默认地,background-image只被绘制在border区域内。这可以使用background-clip属性来改变。你可以使用backgroud-repeat和background-origin来控制背景图的重复和起点。
一个背景图不会依据widget的大小来变化比例。为了提供一个"skin"或者背景可以依widget的大小变化,必须使用border-image。因为border-image属性提供可替代的背景,它不是必须指定一个background-iamge当border-image被指定的时候。当两者都指定的时候,border-image会覆盖background-image。
另外,image属性通常绘制图片在border-image上面。被指定的image不会平铺或者拉伸并且当它的大小不匹配widget的大小时,它的对其方式使用image-position属性来指定。不想background-image和border-image,image也可以指定一个SVG,SVG市一中可以根据widget的大小自动伸缩的图像。
呈现一个规则的步骤如下
设置clip为整个渲染操作(border-radius)
绘制背景(background-image)
绘制边界(border-image,border)
绘制覆盖图片(image)
Sub-controls子控制器
一个widget应该将sub-controls的绘制层次树考虑在内。例如QComboBox绘制drop-down子控制器跟着是down-arrow子控制器。一个QComboBox根据下面的顺序被渲染
渲染QComboBox规则
渲染QComboBox::drop-down{}规则
渲染QComboBox::down-arrow{}规则
子控制器共享一个父子关系,对于QComboBox来说down-arrow的父亲是drop-down,drop-down的父亲是widget自己。子控制器使用subcontrol-position和subcontrol-origin属性放置在它们的父亲里。
一旦被放置,sub-control将使用box model来设计
注意:对于复杂的widgets比如QComboBox和QScrollBar,如果一个属性或者子控制器被自定义,所有的其他属性或者子控制器也应该被自定义。
0 0
- 使用样式表自定义widget
- ios8新特性widget开发(自定义的通知栏样式)
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- ArcGIS WebApp Builder使用之自定义Widget
- 使用CSS自定义按钮样式
- 使用xml自定义seekBar样式
- Dialog使用自定义的样式
- 自定义样式dialog及使用
- 从远程库克隆
- hihocoder1233 搜索+状态压缩 我是菜比
- 数据结构与算法分析2.16
- eclipse中导入web项目变成java项目解决办法
- <leetcode系列> Count And Say
- 使用样式表自定义widget
- android View的层级结构
- Ubuntu 下使用 Eclipse 和 PyDev 搭建Python开发环境
- getchar、getch、getche
- MyEclipse注册码生成代码
- Android问题定位总结
- maven 学习总结(九)——使用Nexus搭建Maven私服
- 《C++primer(第五版)》学习之路-第七章:类
- SIFT特征提取-应用篇