文件名称:
福优林Qt5小白变大牛初级篇word---第10章.pdf
开发工具:
文件大小: 545kb
下载次数: 0
上传时间: 2020-07-23
详细说明:10.1 何为Qt样式表
由于Qt样式表的引入,定制Qt部件的外观样式变得非常简单。
Qt样式表的思想很大程度上是来自于HTML的层叠式样式表(CSS), 通过调用QWidget::setStyleSheet()或QApplication::setStyleSheet(), 你可以为一个独立的子部件、整个窗口,甚至是整个个应用程序指定一个样式表。
样式表是通过QStyle的一个叫做QStyleSheetStyle的特殊子类来实现的。 这个特殊的子类实际上是其他的系统特定风格类的包裹类,它会把通过样式表指定的自定义外观风格应用在底层的系统特定风格之上。
10.2 样式表语法基础
Qt样式表与CSS的语法规则几乎完全相同,如果你已经了解了CSS,完全可以跳过本节。
一个样式表由一系列的样式规则构成。每个样式规则都有着下面的形式:
selector { attribute: value }
选择器(selector)部分通常是一个类名(例如QComboBox),当然也还有其他的语法形式。
属性(attribute)部分是一个样式表属性的名字,
值(value)部分是赋给该属性的值。
为了使用方便,我们还可以使用一种简化形式:
selector1, selector2, ..., selectorM {
attribute1: value1;
attribute2: value2;
...
attributeN: valueN;
}
这种简化形式可以同时为与M个选择器相匹配的部件设置N种属性。
例如:
QCheckBox, QComboBox, QSpinBox {
color: red; //字体颜色:红
font: bold;
}
这个规则设置了所有的QCheckBox、QComboBox和QSpinBox的前景色、背景色和字体。
10.3 方箱模型
在样式表中,每个部件都被看作是一个由四个同心相似的矩形组成的箱体:
空白(margin)、边框(border)、填充(padding)和内容(content)。
对于一个平面部件——例如一个空白、边框和填充都是0像素的部件——而言,这四个矩形是完全重合的。
空白区域位于边框外,并且总是透明的。
边框为部件提供了四周的框架,其border-style属性可以设置为一些内置的框架风格,如inset、outset、solid和ridge。
填充在边框和内容区域之间提供了空白间隔。
10.4 前景与背景
部件的前景色用于绘制上面的文本,可以通过color属性指定。
背景色用于绘制部件的填充矩形,可以通过background-color属性指定。
背景图片使用background-image属性定义,它用于绘制由background-origin指定的矩形区域(空白、边框、填充或内容)。背景图片在矩形区域内的对齐和平铺方式可以通过background-position和background-repeat属性指定。
QFrame {
margin: 10px;
border: 2px solid green;
padding: 20px;
background-image: url(qt.png);
background-position: top right;
background-origin: content;
background-repeat: none;
}
在这个例子中,QFrame四周的空白、边框和填充值都是一样的。
实际上margin属性可以在上下左右四个方向分别指定我们需要的不同值,例如:
QFrame {
margin: 14px 18px 20px 18px;
}
同时,我们也可以分别指定margin-top、margin-right、margin-bottom、margin-left四个属性。
QFrame {
margin-top: 14px;
margin-right: 18px;
margin-bottom: 20px;
margin-left: 18px;
}
虽然目前我们仅仅使用了QFrame作为例子,但是我们也可以同样的将这些属性应用于任何一个支持方箱模型的Qt部件,例如:QCheckBox、 QLabel、QLineEdit、QListView、QMenu、QPushButton、QTextEdit、和QToolTip。
10.5 可缩放样式
在默认情况下,通过background-image指定的背景图片会自动重复平铺,以覆盖部件的整个填充矩形
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.