支持的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-variant
small-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
。