Qt样式表完全指南:从基础到高级

需积分: 9 21 下载量 164 浏览量 更新于2024-07-09 收藏 2.38MB PDF 举报
"Qt StyleSheet葵花宝典.pdf" 这篇PDF文档是张涛编写的关于Qt StyleSheet的详细开发总结,旨在帮助读者深入理解和有效利用Qt样式表进行界面设计。文档覆盖了样式表的基本语法、选择器及其用法,还讨论了QSS的特性,如层叠性、继承性和优先级,并介绍了盒模型以及相关的背景、前景、边框、字体和文本属性。 1. **基本语法** - 样式表的语法类似于CSS,用于定义Qt界面元素的外观。 - 基本语法包括选择器和声明块,其中声明块由属性名和值组成,用分号隔开。 2. **选择器** - **通用选择器**:匹配任何类型的元素,如`*`。 - **类型选择器**:根据元素的类型来选择,如`QWidget`。 - **类选择器**:通过类名来选择元素,前缀`.`,如`.myClass`。 - **ID选择器**:通过唯一的ID来选择元素,前缀`#`,如`#myID`。 - **后代选择器**:使用空格分隔选择器来匹配父元素内的子元素,如`parent child`。 - **子元素选择器**:使用`>`来选择直接子元素,如`parent > child`。 - **属性选择器**:基于元素的属性值来选择,如`[disabled]`。 - **并集选择器**:用逗号分隔多个选择器,表示它们可以同时匹配,如`selector1, selector2`。 - **特殊选择器**:包括子控件选择器(如`:child`)和伪类选择器(如`:hover`、`:active`)。 3. **选择器匹配规则** - Qt样式表的匹配规则决定了哪些样式将应用于特定元素,这涉及到优先级和层叠性。 4. **Qss特性** - **层叠性**:当一个元素匹配多个样式时,优先级高的样式生效。 - **继承性**(Qt 5.7及以上版本):某些属性可以从父元素继承到子元素。 - **优先级**:计算选择器的权重来确定哪个样式生效。 5. **盒模型** - 盒模型定义了元素占用的空间,包括内容(content)、内边距(padding)、边框(border)和外边距(margin)。 - 宽度和高度(width/height)计算中包含了内容区、内边距和边框,但不包括外边距。 6. **属性** - 背景属性:如`background-color`、`background-image`、`background-repeat`等,控制元素的背景显示。 - 前景属性:`color`定义文字颜色。 - 边框属性:`border`包含一系列属性如`border-width`、`border-style`和`border-color`。 - 字体属性:`font-style`、`font-weight`、`font-size`和`font-family`定义字体样式。 - 文本属性:如`text-align`控制文本对齐,`text-decoration`添加下划线等。 - `padding`和`margin`控制元素内部和外部的空间。 - `width`和`height`设定元素尺寸,`max-width`和`min-width`限制最大和最小尺寸。 该文档全面覆盖了Qt样式表的基础知识,对于需要在Qt应用中创建美观用户界面的开发者来说是一份宝贵的参考资料。