修改qscintilla python lexar

时间:2014-10-11 06:51:46

标签: python pyqt pyqt4 qscintilla

与此问题类似:Creating and colorizing new constructs on a existing Scintilla lexer但我想修改pyqt4中词法分析器的文本颜色,而不是添加。我找到的关闭是QScintilla: how to create a new lexer or modify an existing one?,其中用户放弃了。

基本上我想切换到更暗的文本编辑器主题,例如MAYA(不是相同的关键字/语法高亮,只是整体颜色主题):  enter image description here

我已经能够在线修改一些开放代码来设置我的背景和默认文本:

lexer = getattr(Qsci, 'QsciLexer' + 'Python')()
lexer.setDefaultFont(font)
lexer.setDefaultPaper(QColor("#3c3c3c"))
lexer.setDefaultColor(QColor("#f9f9f9"))
self.setLexer(lexer)
self.SendScintilla(QsciScintilla.SCI_STYLESETFONT, 1, 'Helvetica')

我无法访问python词法分析器的设置颜色,如注释,导入,异常等。

1 个答案:

答案 0 :(得分:3)

设置前景色,例如注释:

    lexer.setColor(QColor('lightblue'), QsciLexerPython.Comment)

设置背景颜色:

    lexer.setPaper(QColor('darkblue'), QsciLexerPython.Comment)

设置字体:

    lexer.setFont(QFont('DejaVu Sans'), QsciLexerPython.Comment)

有关其他可能性,请参阅QScintilla docs