Многострочная текстовая позиция буквы в точке и точка в позиции буквы

Чтобы расширить / реализовать пользовательский виджет с несколькими строками (например, QTextEdit), мне нужно преобразовать координаты виджета в текстовую позицию, а текстовую позицию — в координаты.

Например. Щелчок мышью по тексту устанавливает позицию курсора там.
Например, использование клавиш со стрелками изменит положение курсора, которое необходимо нарисовать.

Рисование текста производится с помощью какой-то линии, например:

painter.drawText(
textRect,
Qt::AlignLeft | Qt::AlignTop | Qt::TextWordWrap |Qt::TextJustificationForced,
text());

введите описание изображения здесь

Таким образом, если текст составляет около 130 символов, а позиция курсора находится в позиции (например, 60).

Как получить QPoint / QPointF, на котором нарисован этот символ 60?
Если пользователь щелкнет в позиции 110×16, какой символ в этой точке?

Я посмотрел функцию для QFontMetrics и QPainter, а также класса QTextCursor. Но я не нашел никакого решения.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …