Qt 样式表的思想很大程度上是来自于HTML的层叠式样式表(CSS),通过调用QWidget::setStyleSheet()或QApplication::setStyleSheet(),你可以为一个独立的子部件,整个窗口,甚至是整个应用程序指定一个样式表
样式表语法基础
Qt样式表与CSS的语法规则几乎完全相同
一个样式表由一系列样式规则构成。每个样式规则都有着下面的形式:
selector{attribute:value}
选择器(selector)部分通常是一个类名(例如 QComboBox),当然也还有其他的语法形式。
属性(attribute)部分是一个样式表属性的名字,值(value)部分是赋给该属性的值。
为了使用方便,我们还可以使用一种简化形式:
selector1,selector2,....,selectorM{
attribute1:value1;
attribute2:value2;
.
.
.
attributeN:vatueN;
}
这种简化形式可以同时为M个选择器相匹配的部件设置N种属性。例如:
这个规则设置了所有的QCheckBox,QComboBox,QSpinBox的前景色,背景色和字体。
QCheckBox,QComboBox,QSpinBox{
color : red;
background-color : white;
font : bold;
}
方箱模型
在样式表种,每个部件都被看作是一个由四个同心相似的巨型组成的箱体:
1.空白(margin)
空白区域位于边框外,并且总是透明的。
2.边框 (border)
边框为部件提供了四周的框架,其border-style 属性可以设置为一些蘖枝的框架风格,
如 inset,outset,solid,ridge。
3.填充(padding)
填充在边框和内容区域之间提供了空白间隔。
4.内容(content)
对于一个平面部件,例如一个空白,边框和填充都是0像素的部件而言,这四个
矩形是完全重合的。

前景与背景
部件的前景色用于绘制上面的文本,可以通过color属性指定。
背景色用于绘制部件的填充矩形,可以通过background-color 属性指定。
背景图片使用background-image 属性定义,它用于绘制由background-origin
指定的矩形区域(空白,边框,填充或内容)。背景图片可以在矩形区域内的对齐和
平铺方式通过background-position和 background-repeat属性指定。
如果指定的背景图片具有alpha通道(即有半透明效果),通过background-color
指定的颜色将会透过透明区域。这一功能可以使背景图片在多种环境下重复利用。
该例子中使用的样式表如下所示:
QFrame{