支持的 HTML 子集
官方文档 Rich Text Processing - Supported HTML Subset
Qt 的文本小部件能够显示使用 HTML 4 标记子集指定的富文本。使用QTextDocument 的小部件(如QLabel 和 QTextEdit)能够显示用这种方式指定的富文本。
在文本小部件中使用 HTML 标记
小部件会自动检测 HTML 标记并相应地显示富文本。例如,使用字符串设置标签的文本属性将导致标签显示这样的文本:你好 Qt!"<b>Hello</b> <i>Qt!</i>"
当 HTML 标记用于文本时,Qt 遵循HTML 4 规范定义的规则。这包括文本布局的默认属性,例如文本流的方向(从左到右),可以通过将 dir 属性应用于文本块
来更改这些属性。
支持的标签
下表列出了 Qt 富文本引擎支持的HTML标记:
标记 | 描述 | 评论 |
---|---|---|
a | 锚点或链接 | 支持 和 属性。href name |
address | 地址 | |
b | 粗体 | |
big | 放大缩小字体功能 放大缩小字体功能 | |
blockquote | 缩进段落 | |
body | 文档正文 | 支持 属性,可以是 Qt颜色名称或颜色规范。bgcolor #RRGGBB |
br | 断线 | |
center | 居中段落 | |
cite | 内联引文 | 与 相同。i |
code | 代码 | 与 相同。tt |
dd | 定义数据 | |
dfn | 定义 | 与 相同。i |
div | 文档划分 | 支持标准块属性。 |
dl | 定义列表 | 支持标准块属性。 |
dt | 定义术语 | 支持标准块属性。 |
em | 强调 | 与 相同。i |
font | 字体大小、系列和/或颜色 | 支持以下属性: 和 (Qt颜色名称或)。size face color #RRGGBB |
h1 | 级别 1 标题 | 支持标准块属性。 |
h2 | 2 级标题 | 支持标准块属性。 |
h3 | 3 级标题 | 支持标准块属性。 |
h4 | 4 级标题 | 支持标准块属性。 |
h5 | 5 级标题 | 支持标准块属性。 |
h6 | 级别 6 标题 | 支持标准块属性。 |
head | 文档标题 | |
hr | 水平线 | 支持 属性,该属性可以指定为绝对值或相对值。width % |
html | HTML 文档 | |
i | 斜 | |
img | 图像 | 支持 (对于 Qt 3 兼容性) 和 属性。src source width height |
kbd | 用户输入的文本 | |
meta | 元信息 | 如果使用标记指定文本编码,则由 Qt::编解码器ForHtml() 拾取。同样,如果编码指定为QTextDocument::toHtml(),则使用标记存储编码,例如:meta meta <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP" /> |
li | 列出项目 | |
nobr | 不可中断的文本 | |
ol | 顺序列表 | 支持标准列表属性。 |
p | 段 | 默认情况下左对齐。支持标准块属性。 |
pre | 预制文本 | |
qt | Qt 富文本文档 | 的同义词。提供与早期版本的 Qt 兼容。html |
s | 删除 | |
samp | 示例代码 | 与 相同。tt |
small | 小字体 | |
span | 分组元素 | |
strong | 强 | 与 相同。b |
sub | 标 | |
sup | 标 | |
table | 表 | 支持以下属性:、(Qt颜色名称或),、、(绝对或相对)和 。border bgcolor #RRGGBB cellspacing cellpadding width height |
tbody | 表体 | 什么也不做。 |
td | 表数据单元格 | 支持标准表单元格属性。 |
tfoot | 表页脚 | 什么也不做。 |
th | 表标题单元格 | 支持标准表单元格属性。 |
thead | 表标题 | 如果指定了标记,则在打印跨多个页面的表时使用该标记。thead |
title | 文档标题 | 使用标记指定的值可通过QTextDocument::元信息()。title |
tr | 表行 | 支持 属性,可以是 Qt颜色名称或颜色规范。bgcolor #RRGGBB |
tt | 类型写入字体 | |
u | 强调 | |
ul | 无序列表 | 支持标准列表属性。 |
var | 变量 | 与 相同。i |
块属性
以下属性由 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属性:
属性 | Values | 描述 |
---|---|---|
background-color | 元素的背景颜色 | |
background-image | 元素的背景图像 | |
color | 文本前景颜色 | |
font-family | 字体姓氏 | |
font-size | [ small | medium | large | x-large | xx-large ] | pt | px | medium |
font-style | [ normal | italic | oblique ] | |
font-weight | [ normal | bold | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 ] | 指定用于文本的字体权重,其中 和 映射到相应的QFont权重。数值是等效QFont 权重值的8 倍。normal``bold |
text-decoration | none | [ underline || overline || line-through ] | 其他文本效果 |
font | [ [ <‘font-style’> || <‘font-weight’> ]? <‘font-size’> <‘font-family’> ] | 字体速记属性 |
text-indent | px | 第一行文本缩进(以像素为单位) |
white-space | normal | pre | nowrap | pre-wrap | 声明 HTML 中空白的处理方式。 |
margin-top | px | 上段落边距(以像素为单位) |
margin-bottom | px | 下段落边距(以像素为单位) |
margin-left | px | 左段落边距(以像素为单位) |
margin-right | px | 右段落边距(以像素为单位) |
padding-top | px | 顶部表格单元格填充(以像素为单位) |
padding-bottom | px | 底部表格单元格填充(以像素为单位) |
padding-left | px | 左表单元格填充(以像素为单位) |
padding-right | px | 右表单元格填充(以像素为单位) |
padding | px | 用于一次设置所有填充属性的速记。 |
vertical-align | baseline | sub | super | middle | top | bottom | 垂直文本对齐。对于文本表格单元格中的垂直对齐,仅应用中间、顶部和底部。 |
border-collapse | collapse | separate | 文本表的边框折叠模式。如果设置为折叠,则不会应用单元格间距。 |
border-color | 文本表和表格单元格的边框颜色。 | |
border-top-color | 表格单元格的顶部边框颜色。 | |
border-bottom-color | 表格单元格的底部边框颜色。 | |
border-left-color | 表格单元格的左边框颜色。 | |
border-right-color | 表格单元格的右边框颜色。 | |
border-style | none | dotted | dashed | dot-dash | dot-dot-dash | solid | double | groove | ridge | inset | outset | 文本表和表格单元格的边框样式。 |
border-top-style | 表格单元格的顶部边框样式。 | |
border-bottom-style | 表格单元格的底部边框样式。 | |
border-left-style | 表格单元格的左边框样式。 | |
border-right-style | 表格单元格的右边框样式。 | |
border-width | px | 表格或单元格边框的宽度 |
border-top-width | px | 表格单元格的顶部边框宽度。 |
border-bottom-width | px | 表格单元格的底部边框宽度。 |
border-left-width | px | 表格单元格的左边框宽度。 |
border-right-width | px | 表格单元格的右边框宽度。 |
border-top | px | 用于设置顶部边框宽度、样式和颜色的速记 |
border-bottom | px | 用于设置底部边框宽度、样式和颜色的速记 |
border-left | px | 用于设置左边框宽度、样式和颜色的速记 |
border-right | px | 用于设置右边框宽度、样式和颜色的速记 |
border-top | px | 用于设置顶部边框宽度、样式和颜色的速记 |
border-bottom | px | 用于设置底部边框宽度、样式和颜色的速记 |
border | px | 用于设置所有四个边框的宽度、样式和颜色的速记 |
background | [ <‘background-color’> || <‘background-image’> ] | 背景速记属性 |
page-break-before | [ 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 | px | 指定每个单词之间的备用间距。 |
line-height | [% | 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 | <字符串> | 将给定字符串后缀到 HTML 排序列表中的编号。 |
-qt-paragraph-type | empty | 隐藏文本块。 |
-qt-table-type | root | frame | root 将文本块内联呈现,不带边框和缩进,而在包含框架的新行上渲染文本块。frame |
-qt-user-state | <number> | 并将其添加为文本块的用户数据。 |
支持的 CSS 选择器
所有 CSS 2.1 选择器类都受支持,伪类选择器除外,例如 和 。:first-child
:visited
:hover