富文本、打印与模型视图编程全解析
1. 打印文档相关技术
在处理打印文档时,使用 QPainter 进行打印虽然比使用 QTextDocument 需要更多的细心和计算,但它能让我们对输出进行完全的控制。
1.1 语法高亮
使用 QSyntaxHighlighter 为具有规则语法的纯文本(如源代码)提供语法高亮是相当直接的,处理多行结构也相对容易。然而,处理模糊和特殊情况(如引号字符串内的引号、引号内的注释起始符号或其他取消其句法含义的结构)是最具挑战性的部分。另一种选择是使用 QScintilla 编辑器。
1.2 QTextEdit 类的强大功能
QTextEdit 类功能强大且用途广泛,开箱即用,可用于编辑纯文本和HTML。创建 QTextEdit 的子类,为用户提供基本的格式化选项并不困难,这些技术还能轻松扩展,以提供菜单和工具栏,让用户可以添加、编辑和删除列表、表格和图像,并能在字符级别(如下划线和删除线)或段落级别(如左对齐、右对齐、居中对齐或两端对齐)应用格式。
QTextEdit.toHtml() 返回的HTML相当冗长,因为它必须支持广泛的HTML标签。我们可以提供自己的方法来遍历 QTextDocument 的结构并输出自己的格式。例如,我们可以输出更简单、更短的HTML,同样的方法也可用于输出XML或其他类型的标记。
超级会员免费看
订阅专栏 解锁全文
20

被折叠的 条评论
为什么被折叠?



