与此问题类似:Creating and colorizing new constructs on a existing Scintilla lexer但我想修改pyqt4中词法分析器的文本颜色,而不是添加。我找到的关闭是QScintilla: how to create a new lexer or modify an existing one?,其中用户放弃了。
基本上我想切换到更暗的文本编辑器主题,例如MAYA(不是相同的关键字/语法高亮,只是整体颜色主题):
我已经能够在线修改一些开放代码来设置我的背景和默认文本:
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词法分析器的设置颜色,如注释,导入,异常等。
答案 0 :(得分:3)
设置前景色,例如注释:
lexer.setColor(QColor('lightblue'), QsciLexerPython.Comment)
设置背景颜色:
lexer.setPaper(QColor('darkblue'), QsciLexerPython.Comment)
设置字体:
lexer.setFont(QFont('DejaVu Sans'), QsciLexerPython.Comment)
有关其他可能性,请参阅QScintilla docs。