Выделение текста цветом на второй и последующей строке в 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);