2012-12-15 1 views
3

highlightBlock(self, qtext)QtGui.QSyntaxHighlighter 인 경우 내 QTextEdit 위젯의 각 줄이 다른 블록 (qtext)으로 처리됩니다. 이것은 멀티 라인 플래그을 나의 상황에서 딜 브레이커 인 나의 정규식으로 제동한다! setCurrentBlockState()previousBlockState()에 대해 읽었지 만 다중 행 플래그를 위반하지 않는 데 도움이되지 않습니다.PyQide-Qt QSyntaxHighlighter multiline

누락 된 것을 쉽게 극복 할 수있는 방법이 있습니까? 그리고 만약 그렇지 않다면, 당신이 가장 좋은 방법으로 제안하고자하는 것이 무엇입니까?

a) QTextBlock을 한 줄에서 전체 텍스트로 변경하는 QTextEditQDocument을 확장하십시오.

b) QTextLayout, QTextFormat 등을 사용하여 내 자신의 형광펜을 처음부터 구현하십시오.

답변

0

확장 가능한 것으로 광고되지 않는 Qt 클래스를 확장 할 때의 문제는 많은 메서드가 가상이 아니며 대부분 구현이 private 클래스 내에서 수행된다는 것입니다.

이렇게하면 쉽게 확장 할 수 있습니다. 그래서 나는 계획 B에 충실 할 것이다.