支持的HTML子集#
描述文本小部件中HTML标记的支持。
Qt的文本小部件能够显示使用HTML 4标记子集指定的富文本。使用QTextDocument(如QLabel和QTextEdit)的小部件能够显示以这种方式指定的富文本。
在文本小部件中使用HTML标记#
小部件会自动检测HTML标记并相应地显示富文本。例如,设置标签的文本属性为字符串"<b>Hello</b> <i>Qt!</i>"将导致标签显示如下文本:Hello Qt!
当使用HTML标记时,Qt遵循由HTML 4规范定义的规则。这包括文本布局的默认属性,例如文本流的方向(从左到右),可以通过将dir属性应用于文本块来修改。
区块属性#
以下属性由 div,dl,dt,h1,h2,h3,h4,h5,h6,p 标签支持
align(left,right,center,justify)
dir(ltr,rtl)
列表属性#
以下属性由 ol 和 ul 标签支持
type(1,a,A,square,disc,circle)
表格单元格属性#
以下属性由 td 和 th 标签支持
width(绝对值、相对值或无值)
bgcolor(Qt颜色名称或#RRGGBB)
colspan
rowspan
align(left,right,center,justify)
valign(top,middle,bottom)
CSS 属性#
以下表格列出了 Qt 文本引擎支持的 CSS 属性
属性
值
描述
background-color<颜色>
元素背景颜色
background-image<uri>
元素背景图像
color<颜色>
文本前景颜色
font-family<family name>
字体家族名称
font-size[ 小 | 中 | 大 | 很大 | 超大 ] | <大小>pt | <大小>px
相对于文档字体的大小,或指定为点或像素
font-style文本样式 | 斜体 | 斜体
字体粗细度[ 正常 | 加粗 | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 ]
指定文本使用的字体粗细,其中
normal和bold对应于相应的QFont粗细。数字值是等价于QFont粗细的 8 倍。
文本修饰none | [下划线 || 上划线 || 删除线 ]
附加文本效果
font[ [ <’font-style’> || <’font-weight’> ]? <’font-size’> <’font-family’> ]
字体简写属性
首行缩进<长度>px
首行文本缩进像素值
空白处理normal | pre | nowrap | pre-wrap
声明HTML中空白如何处理。
上边距<长度>px
段落顶部边距像素值
下边距<长度>px
段落底部边距像素值
左边距<长度>px
段落左边距像素值
右边距<长度>px
段落右边距像素值
上边距<长度>px
表格单元格顶部边距像素值
下边距<长度>px
表格单元格底部边距像素值
左边距<长度>px
表格单元格左边距像素值
右边距<长度>px
表格单元格右边距像素值
填充<长度>px
同时设置所有填充属性的简写。
垂直对齐baseline | sub | super | middle | top | bottom
垂直文本对齐。对于文本表格中的垂直对齐,只有 middle、top 和 bottom 适用于。
边框合并collapse | separate
文本表格的边框合并模式。如果设置为 collapse,则不应用单元格间距。
边框颜色<颜色>
文本表格和表格单元的边框颜色。
边框顶部颜色<颜色>
表格单元顶部边框颜色。
边框底部颜色<颜色>
表格单元格底部边框颜色。
边框左边颜色<颜色>
表格单元格左边边框颜色。
边框右边颜色<颜色>
表格单元格右边边框颜色。
边框样式none | dotted | dashed | dot-dash | dot-dot-dash | solid | double | groove | ridge | inset | outset
文本表格和表格单元的边框样式。
边框顶部样式<border-style>
表格单元顶部边框样式。
边框底部样式<border-style>
表格单元格底部边框样式。
边框左边样式<border-style>
表格单元格左边边框样式。
边框右边样式<border-style>
表格单元格右边边框样式。
边框宽度<width>px
表格或单元格边框的宽度
边框顶部宽度<长度>px
表格单元顶部边框宽度。
边框底部宽度<长度>px
表格单元格底部边框宽度。
边框左边宽度<长度>px
表格单元格左边边框宽度。
边框右边宽度<长度>px
表格单元格右边边框宽度。
边框顶部<width>px <border-style> <border-color>
设置顶部边框宽度、样式和颜色的简写
边框底部<width>px <border-style> <border-color>
设置底部边框宽度、样式和颜色的简写
边框左边<width>px <border-style> <border-color>
设置左边框宽度、样式和颜色的简写
边框右边<width>px <border-style> <border-color>
设置右边框宽度、样式和颜色的简写
边框顶部<width>px <border-style> <border-color>
设置顶部边框宽度、样式和颜色的简写
边框底部<width>px <border-style> <border-color>
设置底部边框宽度、样式和颜色的简写
边框<width>px <border-style> <border-color>
同时设置四个边框的宽度、样式和颜色的简写
背景[ <’background-color’> || <’background-image’> ]
背景简写属性
页面换行前[ auto | always ]
使段落/表格前面可以使用分页。
page-break-after[ auto | always ]
使段落/表格后面强制换页。
float[ left | right | none ]
指定图片或文本将放在另一个元素中的位置。注意,仅支持表格和图片使用
float属性。
text-transform[ uppercase | lowercase ]
选择在显示前对文本执行哪种转换。
font-kerning[ normal | none ]
启用或禁用文字字符间的字距调整。
font-variantsmall-caps
在显示文本前执行小写字母转换。
word-spacing<width>px
指定每个单词之间的备用间距。
line-height<number>[% | px | pt | cm]
指定行高。可以是以下之一
以像素、点或厘米为单位固定的行高。
当前字体大小的百分比。
Qt特定的CSS属性#
除了前面列出的标准CSS属性外,以下Qt特定的属性也可以用于样式化文本块
属性
值
描述
-qt-block-indent
<number>通过指定的空格数缩进文本块。
-qt-list-indent
<number>通过指定的空格数缩进列表项。
-qt-list-number-prefix
<string>将指定的字符串作为HTML有序列表中的列表编号的前缀。
-qt-list-number-suffix<string>
将指定的字符串作为HTML有序列表中的列表编号的后缀。
-qt-paragraph-type
empty隐藏文本块。
-qt-table-type
root | frame
root在不添加边框和缩进的情况下内联渲染文本块,而frame在新的一行上带有边框进行渲染。
-qt-user-state
<number>将其添加为文本块的用户数据。
支持CSS选择器#
支持所有CSS 2.1选择器类,但伪类选择器除外,如 :first-child、:visited 和 :hover。