Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: Ground от Декабрь 10, 2011, 10:03



Название: QGraphicsView и Шрифт
Отправлено: Ground от Декабрь 10, 2011, 10:03
Доброго времени суток!
У меня есть QGraphicsView, куда я, в качестве QGraphicsItem добавляю виджеты. На виджетах может быть какой-нибудь текст. Так вот, когда я масштабирую QGraphicsView, у меня с текстом на виджетах начинают происходить неприятные трансформации и его становится трудно читать (для наглядности прикрепляю рисунок до и после).
У меня такое чувство, что текст сначала прорисовывается на виджетах, а после к нему применяются трансформации QGraphicsView. Отсюда такое поведение. И я думаю, что если бы можно было бы обойтись только растеризацией шрифта - вид был бы лучше.
Можно ли как-нибудь сделать шрифт читабельнее?

И еще вопрос, касаемо опции QPainter::TextAntialiasing? Как она работает? Вроде и применяю в конструкторе QGraphicsView, а вид не меняется - что с ней, что без нее.


Название: Re: QGraphicsView и Шрифт
Отправлено: GreatSnake от Декабрь 10, 2011, 11:10
Попробуй у фонта задать стиль:
Код
C++ (Qt)
QFont::setStyleStrategy( QFont::PreferAntialias )

И еще вопрос, касаемо опции QPainter::TextAntialiasing? Как она работает? Вроде и применяю в конструкторе QGraphicsView, а вид не меняется - что с ней, что без нее.
По умолчанию QPainter::TextAntialiasing и так включен, поэтому ничего и не меняется. Тем более судя по скринам AA включен на обоих.


Название: Re: QGraphicsView и Шрифт
Отправлено: Ground от Декабрь 10, 2011, 12:18
Попробуй у фонта задать стиль:
Код
C++ (Qt)
QFont::setStyleStrategy( QFont::PreferAntialias )

Спасибо, стало получше. Сейчас при сильном увеличении AA становится заметен - шрифт выглядит плавным.

Вообщем поколдовал над настройками шрифтами, в итоге получил оптмальный вид со следующими параметрами:
letterSpacing: 115%
styleStrategy: QFont::PreferAntialias
Ну и шрифт покрупнее, насколько это будет допустимо.