Как выделить строку в QTextEdit по клику мыши?
Т.е. нужно кликнуть мышью в список в QTextEdit, получить номер строки, куда был клик, и выделить эту строку. А ещё желательно выделять строку нужного номера программно, без клика мышью.
Ответы (1 шт):
Автор решения: Sergey Tatarincev
→ Ссылка
Для отлавливания клика, ва понадобится установить соответствующий eventFilter, в котором просто выделить строку под курсором:
QTextCursor c = ui->textEdit->textCursor();
c.select(QTextCursor::LineUnderCursor);
ui->textEdit->setTextCursor(c);
что касается выбора определенной строки:
void MainWindow::selectLine(int line)
{
QTextCursor c = ui->textEdit->textCursor(); //получили текстовый курсор
c.movePosition(QTextCursor::Start); // переместили в начало документа
c.movePosition(QTextCursor::Down,QTextCursor::MoveAnchor,line);// сместили на line позиций вниз
c.select(QTextCursor::LineUnderCursor); // выделили строку под курсором
ui->textEdit->setTextCursor(c); // установили курсор назад
}