Вертикальный текст в QTextEdit
Мне нужно иметь вертикальный текст (направление - снизу вверх) в QTextEdit. Наиболее похожее решение, которое я реализовал, - это замена горизонтального текстового блока повернутым изображением (скриншот исходного текстового блока), когда пользователь нажимает кнопку "Повернуть". Но это костыль - вращаемый текст становится недоступным для редактирования. Есть ли более элегантные решения?
1 ответ
У меня тот же вопрос. Я думаю, что это может быть достигнуто путем повторной реализации QAbstractTextDocumentLayout
Так как QTextLayout
& его QTextLine
переопределены в подклассе.QTextLayout определяет отображение текста и позиционирование курсора, поэтому вы переопределяете текстовую линию как вертикальную, возможно, вы реализуете вертикальный текст.
Это очень сложно, потому что в моем воображении вы должны измерить ширину и высоту символа с помощью размера шрифта и размера шрифта, соответственно ширины линии.
Этот человек попытался добавить вертикальную поддержку Qt.
https://bugreports.qt.io/browse/QTBUG-529
Но, похоже, это для Linux, и я не пробую. Я надеюсь, что этот патч сделан для Windows.