3

highlightBlock(self, qtext)of将我的小部件中的QtGui.QSyntaxHighlighter每一行QTextEdit视为不同的块 ( qtext)。这会阻止我的正则表达式中的多行标志,这在我的情况下是一个交易破坏者!我阅读了setCurrentBlockState()andpreviousBlockState()但它们并没有真正帮助不破坏多行标志。

有没有一种简单的方法可以克服这个错过的问题?如果没有,您会建议将其作为最佳方法:

a) 将QTextBlock 从一行扩展QTextEdit和更改为整个文本。QDocument

b) 从头开始​​使用 QTextLayout、QTextFormat 等实现我自己的荧光笔。

4

1 回答 1

0

扩展 Qt 类(没有被宣传为可扩展)的问题是很多方法不是虚拟的,而且大多数实现都是在私有类中完成的。

这使得扩展并不容易。所以我会坚持B计划。

于 2013-11-28T22:19:16.250 回答