Название: Выравнивание текста в QGraphicsTextItem Отправлено: juvf от Октябрь 05, 2009, 10:10 Как выравнивать текст html в QGraphicsTextItem? например текст
Код: <p align = "center">Line 1:<br><b>Point of line 1</b></p> Код: Line 1: А нужно чтоб было Код: Line 1: Т.е. нужно чтоб строчки относительно друг друга выравнивались по центру. Может я в html-e не так тэги поставил? Как такое выравнивание можно сделать? Название: Re: Выравнивание текста в QGraphicsTextItem Отправлено: iroln от Ноябрь 16, 2011, 11:00 Всем привет!
Проблема актуальна. Как установить выравнивание текста в QGraphicsTextItem? Например, нужно, чтобы Plain Text был выровнен по центру относительно своей позиции. Поискал в интернете. Нашёл вот это: http://www.cesarbs.org/blog/2011/05/30/aligning-text-in-qgraphicstextitem/ Делаю, как написано в статье, чего-то не работает. Может чего-то сделал не так, буду ещё разбираться. Но простите, это же просто изврат какой-то. Попроще способов нет? UPD: Есть ещё вот такой баг, но это для html https://bugreports.qt.nokia.com/browse/QTBUG-312 Название: Re: Выравнивание текста в QGraphicsTextItem Отправлено: GreatSnake от Ноябрь 16, 2011, 11:13 Имеется в виду центровка многострочного текста?
Название: Re: Выравнивание текста в QGraphicsTextItem Отправлено: iroln от Ноябрь 16, 2011, 11:16 GreatSnake, как многострочного, так и одной строки. А это разве имеет значение? В общем, нужно поведение как у QLabel.
Название: Re: Выравнивание текста в QGraphicsTextItem Отправлено: GreatSnake от Ноябрь 16, 2011, 11:24 А это разве имеет значение? Имеет, т.к. boundingRect() элемента задаётся от содержимого, т.е. ширина элемента будет равна ширине текста и смысла в выравнивании не будет )PS. И почему не используется QGraphicsSimpleTextItem? Ведь он намного легче ??? Название: Re: Выравнивание текста в QGraphicsTextItem Отправлено: iroln от Ноябрь 16, 2011, 12:56 Это понятно, поэтому я сейчас сделал подобно тому как предложили тут:
http://www.qtcentre.org/threads/24814-QGraphicsTextItem-Vertical-text-alignment Переопределил метод paint и рисую текст с заданными параметрами в заданном мною же boundingRect. В принципе для моей задачи достаточно. Если развить идею, можно автоматически задавать boundingRect от заданных параметров выравнивания, но мне пока и так сойдёт. Я и использую QGraphicsSimpleTextItem у себя (от него наследую свой класс). |