python - 修改 qscintilla python lexar

标签 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 词法分析器设置颜色的权限,例如注释、导入、异常等。

最佳答案

设置前景色,例如评论:

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

设置背景颜色:

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

设置字体:

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

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

关于python - 修改 qscintilla python lexar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26311950/

相关文章:

c++ - 在没有 SWIG 的情况下使用 C++ 扩展 Python

python - 仅在一个窗口中显示更新图像

python - 在pyqt中运行另一个进程时旋转动画

python - 如何使用 pyqt4 删除表格小部件中的特定行边框

python - 在 PyQt4 QTableWidget 中将最小列宽设置为标题宽度

执行 HTTP 调用时打印一个点到控制台的 Python 函数

python - RPY2:进口商因 .Renviron 失败

python - 检查按下的键是PyQt中的字母还是空格

python - QRegExp 可以进行 MULTILINE 和 DOTALL 匹配吗?

python - PyQt4 : Connect splitter