Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Alp от Сентябрь 08, 2010, 22:58



Название: CSS + Antialiasing
Отправлено: Alp от Сентябрь 08, 2010, 22:58
Если выбирать шрифты для виджетов через CSS то текст рисуется без сглаживания и выглядит страшно. Хочется красоты, соответственно, как включить антиалиасинг при использовании CSS?


Название: Re: CSS + Antialiasing
Отправлено: nn1317 от Сентябрь 09, 2010, 11:29
я как то думал над этим вопросом... как мне кажется дело не в цсс. если просто лейблу поставить другой размер шрифта то все равно будет ужасно смотреть...
тут дело в отображении шрифтов кутишкой.. (в моем случае проверялось только на винде) - абсолютно непонятные расстояния между буквами, отсутствия сглаживания... проще попросить дизайнера рисовать кнопки текстурами уже вместе с текстами (я делал так)


Название: Re: CSS + Antialiasing
Отправлено: Drafter от Сентябрь 09, 2010, 12:52
После установки стиля виджета, попробуйте:

Код:

    QFont aaFont(anyWidget->font());
    aaFont.setStyleStrategy(QFont::PreferAntialias);
    anyWidget->setFont(aaFont);



Название: Re: CSS + Antialiasing
Отправлено: Alp от Сентябрь 09, 2010, 17:00
После установки стиля виджета, попробуйте:

Код:

    QFont aaFont(anyWidget->font());
    aaFont.setStyleStrategy(QFont::PreferAntialias);
    anyWidget->setFont(aaFont);


Попробовал! Если бы все работало так, у шрифта бы менялся pixelSize, pointSize, family и так далее... Короче, установка стратегии не помогла на qt 4.6.3


Название: Re: CSS + Antialiasing
Отправлено: Alp от Сентябрь 09, 2010, 17:02
я как то думал над этим вопросом... как мне кажется дело не в цсс. если просто лейблу поставить другой размер шрифта то все равно будет ужасно смотреть...
тут дело в отображении шрифтов кутишкой.. (в моем случае проверялось только на винде) - абсолютно непонятные расстояния между буквами, отсутствия сглаживания... проще попросить дизайнера рисовать кнопки текстурами уже вместе с текстами (я делал так)
Нашел тут в мейл-листе, что, мол, антиалиасинг рбаотает через ЦСС только для шрифтов с размерами больше 14pt. Правда не проверял.
А qt рисует шрифты через фритайп, так что даже странно, что у тебя страшно выглядело, фритайп нормально рендерит. Даже сабпиксельно сглаживает.