のhighlightBlock(self, qtext)はQtGui.QSyntaxHighlighter、ウィジェットの各行をQTextEdit異なるブロック ( qtext) として扱います。これにより、正規表現の複数行フラグが停止します。これは、私の状況では契約を破るものです! setCurrentBlockState()andについて読みましたpreviousBlockState()が、複数行フラグを壊さないためにはあまり役に立ちません。
これを逃した簡単な方法はありますか?そうでない場合、最善のアプローチとして提案するものは次のとおりです。
a) QTextBlock を 1 行からテキスト全体に拡張QTextEditおよび変更します。QDocument
b)QTextLayout、QTextFormatなどを使用して独自のハイライターを最初から実装します。