Qt: рисовать текст в вертикальном направлении с помощью QPainter?

Как использовать API QPainter.drawText() для отображения текста в вертикальном направлении?

Значение вертикального направления:

A
B
C

не так, как показано ниже:

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

1 ответ

Решение

Решение состоит в том, чтобы вставить конец строки (\n) между каждым символом, как показано ниже:

QPainter painter(this);
QString str = "ABCDEFG";
for (int i = 1; i < str.size(); i+=2)
    str.insert(i, '\n');
painter.drawText(rect(), Qt::AlignCenter ,str);

Выход:

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

Другие вопросы по тегам