在python中创建语法高亮显示(PyQt4)

dra*_*ire 3 python text-editor pyqt4 syntaxhighlighter

我一直在互联网上搜索文本编辑器中特定文件的语法突出显示,我读到了Lexers和Yacc.我对语法高亮的概念很困惑.

我使用PyQt4创建了一个简单的文本编辑器,我希望它能够启用语法高亮的编程语言,如HTML,CSS,Python,C/C++.但我不知道如何开始实施这个以及从哪里开始.请有人指出我正确的方向,并清楚我对语法高亮的疑虑.请.

ekh*_*oro 5

如果您想让生活更轻松,请使用QScintilla - 它可以满足您的所有需求,并且开箱即用.

QScintilla包含在适用于Windows的PyQt二进制安装程序(可在此处找到)中,几乎所有Linux发行版都将在其存储库中包含QScintilla程序包.或者,可以在此处找到QScintilla源代码.

这里有一个最小的QScintilla示例,它展示了入门是多么容易:

import sys, os
from PyQt4 import QtGui, Qsci

class Window(Qsci.QsciScintilla):
    def __init__(self):
        Qsci.QsciScintilla.__init__(self)
        self.setLexer(Qsci.QsciLexerPython(self))
        self.setText(open(os.path.abspath(__file__)).read())

if __name__ == '__main__':

    app = QtGui.QApplication(sys.argv)
    window = Window()
    window.setGeometry(500, 300, 500, 500)
    window.show()
    sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)