QtGui.QSyntaxHighlighter
的highlightBlock(self, qtext)
方法将我的QTextEdit
小部件中的每一行视为不同的块(qtext
)。这破坏了我的正则表达式中的多行标志(multiline flag),这在我的情况下是无法接受的!我了解到setCurrentBlockState()
和previousBlockState()
,但它们并不能真正帮助解决不破坏多行标志的问题。有没有简单的方法可以克服这个问题?如果没有,你会建议以下哪种方法:
a) 扩展
QTextEdit
和QDocument
,将QTextBlock从一行更改为整个文本。b) 从头开始使用QTextLayout、QTextFormat等实现自己的高亮器。