[PyQt] QsciScintilla Lexer disappears?

Lee Harr missive at hotmail.com
Mon Apr 22 01:51:25 BST 2013


I am trying to use QsciScintilla in a project but I am having some trouble
with the Lexer. I don't understand why this code shows the lexer at
the end of __init__ but when clicking in the margin it shows None.

Any thoughts?



import sys
from PyQt4.QtCore import SIGNAL
from PyQt4.QtGui import QApplication
from PyQt4.Qsci import QsciScintilla, QsciLexerPython


class SimplePythonEditor(QsciScintilla):
    def __init__(self, parent=None):
        super(SimplePythonEditor, self).__init__(parent)

        self.setMarginSensitivity(1, True)
        self.connect(self,
            SIGNAL('marginClicked(int, int, Qt::KeyboardModifiers)'),
            self.on_margin_clicked)

        lexer = QsciLexerPython()
        self.setLexer(lexer)
        print self.lexer()

    def on_margin_clicked(self, nmargin, nline, modifiers):
        print self.lexer()


if __name__ == "__main__":
    app = QApplication(sys.argv)
    editor = SimplePythonEditor()
    editor.show()
    app.exec_() 		 	   		  


More information about the PyQt mailing list