它取代了迁移的问题 https://stackoverflow.com/questions/36681197/qt5-code-editor-sreen-or-source-line-numbering
我想使用下面的功能突出显示源代码行。基本上它可以工作,但是当我有一个很长的注释行并且换行时,突出显示的区域会移动到错误的行。重新格式化窗口大小,它工作正常,所以我猜行号是指屏幕行号,而不是文档的源行号。是否有任何选项可以解决这种差异?
void CodeEditor::setCursorToLine(unsigned int lineno)
{
QTextBlock text_block = document()->findBlockByLineNumber(lineno-1);
QTextCursor text_cursor = textCursor ();
text_cursor.setPosition(text_block.position());
setFocus();
text_cursor.select(QTextCursor::BlockUnderCursor);
setTextCursor(text_cursor);
}