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