富文本处理
Qt 提供了一系列用于创建、编辑和渲染结构化富文本文档的类。这些类以QTextDocument 为中心,表示具有明确内部结构的富文本文档。通过直接使用QTextDocument ,应用程序可以创建、修改和检查富文本,而无需依赖中间标记格式。
您可以通过两个互补接口访问文档信息:
| 接口 | 界面说明 |
|---|---|
| 基于光标的界面 (QTextCursor) | 支持模仿用户在文本编辑器中操作的编辑操作。编辑可保持底层文档结构的完整性。 |
| 只读分层界面 | 提供文档的高层结构视图。对于搜索、检查和导出内容等任务非常有用。 |
富文本序列化
QTextDocument 支持与这些标记格式之间的序列化:
- HTML:支持加载和保存已定义的 HTML 子集。请参阅支持的 HTML 子集。
- Markdown:QTextDocument 可以解析 CommonMark 和 GitHub 方言中的 Markdown。
富文本主题
- 富文本文档结构描述了QTextDocument 中的不同元素以及它们在文档结构中的排列方式。
- QTextCursor 界面介绍如何使用基于光标的界面编辑富文本文档。
- 文档布局介绍了如何直观地排列文档内容。
- 常用富文本编辑任务介绍了阅读和操作富文本的常用操作,如选择、搜索和打印。
- 高级富文本处理介绍了处理大文件等高级富文本编辑任务。
- 支持的 HTML 子集列出了QTextDocument支持的HTML 标记。
富文本处理 API
Qt 提供了大量用于解析、渲染、操作和编辑富文本的类。
用于为 QTextDocuments 实现自定义布局的抽象基类 | |
指定用于绘制文本的字体查询 | |
为 QTextDocument 实现纯文本布局 | |
用于编辑和显示纯文本的小工具 | |
允许您定义语法高亮规则,此外,您还可以使用该类来查询文档的当前格式或用户数据 | |
QTextDocument 中文本片段的容器 | |
QTextBlock::iterator 类提供了读取 QTextBlock 内容的迭代器 | |
QTextDocument 中文本块的格式信息 | |
QTextDocument 中文本块的容器 | |
用于将自定义数据与文本块关联起来 | |
具有超文本导航功能的富文本浏览器 | |
QTextDocument 中字符的格式化信息 | |
提供访问和修改 QTextDocument 的 API | |
保存格式化文本 | |
代表来自 QTextDocument 的一段格式化文本 | |
将 QTextDocument 写入文件或其他设备的独立于格式的接口 | |
用于编辑和显示纯文本和富文本的小工具 | |
QTextDocument 的格式化信息 | |
在 QTextDocument 中用单一的 QTextCharFormat 保存一段文本 | |
代表 QTextDocument 中的一个框架 | |
用于读取 QTextFrame 内容的迭代器 | |
QTextDocument 中帧的格式化信息 | |
QTextDocument 中图像的格式化信息 | |
代表 QAbstractTextDocumentLayout 及其实现中的内联对象 | |
用于布局和渲染文本 | |
封装 QTextDocument 中使用的不同长度类型 | |
代表 QTextLayout 中的一行文本 | |
在 QTextDocument 中装饰项目列表 | |
为 QTextDocument 中的列表提供格式化信息 | |
可将 QTextDocument 各部分组合在一起的各种对象的基类 | |
一般富文本属性的描述 | |
代表 QTextDocument 中的表格 | |
代表 QTextTable 中单元格的属性 | |
QTextDocument 中表格单元格的格式化信息 | |
QTextDocument 中表格的格式信息 |
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.