富文本、打印与模型视图编程全解析
1. 富文本处理与打印
在富文本处理和文档打印方面,有多种方法和工具可供选择,每种都有其特点和适用场景。
1.1 语法高亮
使用QSyntaxHighlighter为具有规则语法的纯文本(如源代码)提供语法高亮是比较直接的。处理多行结构也相对容易,但处理一些模糊和特殊情况(如引号字符串内的引号、引号内的注释起始符号等)是比较困难的。另一种选择是使用QScintilla编辑器。
1.2 QTextEdit 类的强大功能
QTextEdit类功能强大且用途广泛。它可以直接用于编辑纯文本和 HTML。创建QTextEdit子类并提供按键和上下文菜单事件处理程序,为用户提供基本的格式化选项并不困难。这些技术还可以轻松扩展,以提供菜单和工具栏,使用户能够添加、编辑和删除列表、表格和图像,并应用字符级(如下划线、删除线)或段落级(如左对齐、右对齐、居中对齐、两端对齐)的格式化。
QTextEdit.toHtml()返回的 HTML 比较冗长,因为它必须支持广泛的 HTML 标签。我们可以提供自己的方法来遍历QTextDocument的结构并输出自定义格式。例如,可以输出更简单、更短的 HTML,同样的方法也可用于输出 XML 或其他标记语言。
对QTextEdit、QTextBrowser、Q