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

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



