Выделение текста цветом на второй и последующей строке в QTextEdit

Столкнулся с проблемой выделения цветом нужных букв в нужной строке, но они выделяются в первой строке а не в нужной мне. Мой код:

int begin = 10;
int end = 20;
QTextCharFormat fmt;
fmt.setBackground(Qt::yellow);

QTextCursor cursor = QTextCursor(ui->textEditgggg->document());
cursor.movePosition(QTextCursor::StartOfBlock, QTextCursor::MoveAnchor, 3);
cursor.setPosition(begin, QTextCursor::MoveAnchor);
cursor.setPosition(end, QTextCursor::KeepAnchor);
cursor.setCharFormat(fmt);
ui->textEditgggg->setTextCursor(cursor);

Ответы (1 шт):

Автор решения: Sergey Tatarincev

По вашему коду не понятно что вы там вообще пытаетесь сделать. Вам надо: 1) Переместить кусор в начало документа; 2) Переместить кусор на одну строку вниз; 3) Выделить все с текущей позиции до конца документа; 4) Установить формат для выделения

QTextCharFormat fmt;
fmt.setBackground(Qt::green);
QTextCursor cursor(ui->textEditgggg->document());
cursor.setPosition(0, QTextCursor::MoveAnchor); // Для начала ставим курсор в начало документа
cursor.movePosition(QTextCursor::Down,QTextCursor::MoveAnchor,1); // Сдвигаем курсор на 1 строку вниз
cursor.movePosition(QTextCursor::End, QTextCursor::KeepAnchor); // Выделяем все начиная с текущей позиции до конца документа
cursor.setCharFormat(fmt);
→ Ссылка