On 16/07/2015 6:50 pm, [email protected] wrote:
Hi,


I am trying to get QScintilla widget to scroll the content so the
selected line is in the middle
of the viewport. I am using Python 2.7.10, PyQt4-4.11.3, and
QScintilla 2.8.4. I've tried the following:



        self.editor = Qsci.QsciScintilla()
        self.lexer = Qsci.QsciLexerCPP()
        self.file = QFile(filename)
        if not self.file.open(QIODevice.ReadOnly):
            print "Error opening file", filename
            return
        self.editor.read(self.file)
        size = self.editor.viewport().frameSize()
        font = self.lexer.defaultFont(0)
        fontmetrics = QFontMetrics(font)
        num_lines = size.height() / fontmetrics.lineSpacing()
        self.editor.scrollContentsBy(0, (num_lines / 2) *
fontmetrics.lineSpacing())
        self.editor.setFocus()


        self.editor.setSelection(line - 1, 0, line, 0)



But that does not work. It appears that the content is scrolled so the
selected line is just below
the viewable area of the document - if I scroll down a couple of
lines, the selected line is in view.


Is there a way that I can do that? Thank you for the help.

You could try the low-level SCI_LINESCROLL...

http://www.scintilla.org/ScintillaDoc.html#SCI_LINESCROLL

Phil
_______________________________________________
QScintilla mailing list
[email protected]
http://www.riverbankcomputing.com/mailman/listinfo/qscintilla

Reply via email to