QPlainTextEdit
行番号で指定した行の先頭にカーソルを置きたい。問題は、「実際の」行番号、つまり\n
行と開始の間の番号を持っているのに対し、カーソルは「仮想」行番号、つまり textedit によって行われた行折り返しを使用しているように見えることです。
これは、以下が正しく機能しないことを意味します。
old_line = textedit.textCursor().blockNumber()
line = token.line
diff = line - old_line
move = QtGui.QTextCursor.Down if diff >= 0 else QtGui.QTextCursor.Up
for _ in range(abs(diff)): textedit.moveCursor(move, QtGui.QTextCursor.MoveAnchor)