Qt5.6 рисование многострочного текста

Я хочу нарисовать многострочную текстовую строку с опциями выравнивания. Обрабатывает ли это какая-либо функция drawText в Qt?

Я хочу передать строку «LINE 1 \ nLINE 2 \ nLINE 3 \ n» с параметрами выравнивания и нарисовать текст вокруг указанной точки X, Y.

Пока что я делю строку на «\ n», а затем рисую линии по отдельности.

Также мне нужно вычислить ограничивающий прямоугольник, необходимый для рисования текста, чтобы я мог создать виджет с геометрией для содержания текста.

Я нашел решение и прочитал на нескольких сайтах, что QPainter :: drawText сделает это, однако, когда я использую drawText со строкой, содержащей \ n, я получаю одну строку текста, отображаемую с \ n, отображаемым на дисплее.

0

Решение

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

Необходимые этапы:

  1. Разделить текст на строки
  2. Разработайте ограничивающий прямоугольник, используя QFontMetrics, чтобы определить размер каждой строки.
  3. Используя указанное выравнивание, определите положение каждой линии относительно другой внутри ограничительного прямоугольника.
  4. Нарисуй текст.
0

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

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

По вопросам рекламы [email protected]