只需将光标移动几行并调用ensureCursorVisible()
两次:
scrollCursor = QTextCursor(editor.document())
contextLines = 5
scrollCursor.setPosition(pos)
scrollCursor.movePosition(QTextCursor.Up, QTextCursor.MoveAnchor, contextLines)
editor.setTextCursor(scrollCursor)
editor.ensureCursorVisible()
scrollCursor.setPosition(pos)
scrollCursor.movePosition(QTextCursor.Down, QTextCursor.MoveAnchor, contextLines)
editor.setTextCursor(scrollCursor)
editor.ensureCursorVisible()
# Finishing touch: Select the line
scrollCursor.setPosition(pos)
scrollCursor.movePosition(QTextCursor.StartOfLine, QTextCursor.MoveAnchor)
scrollCursor.movePosition(QTextCursor.EndOfLine, QTextCursor.KeepAnchor)
editor.setTextCursor(scrollCursor)