Вертикальный текст в QTextEdit

Мне нужно иметь вертикальный текст (направление - снизу вверх) в QTextEdit. Наиболее похожее решение, которое я реализовал, - это замена горизонтального текстового блока повернутым изображением (скриншот исходного текстового блока), когда пользователь нажимает кнопку "Повернуть". Но это костыль - вращаемый текст становится недоступным для редактирования. Есть ли более элегантные решения?

1 ответ

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

Так как QTextLayout & его QTextLine переопределены в подклассе.QTextLayout определяет отображение текста и позиционирование курсора, поэтому вы переопределяете текстовую линию как вертикальную, возможно, вы реализуете вертикальный текст.

Это очень сложно, потому что в моем воображении вы должны измерить ширину и высоту символа с помощью размера шрифта и размера шрифта, соответственно ширины линии.

Этот человек попытался добавить вертикальную поддержку Qt.

https://bugreports.qt.io/browse/QTBUG-529

Но, похоже, это для Linux, и я не пробую. Я надеюсь, что этот патч сделан для Windows.

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