Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: IGHOR от Января 31, 2008, 02:21



Название: Как рисовать текст с бордером?
Отправлено: IGHOR от Января 31, 2008, 02:21
Как сделать в тексте QLabel бордер ?
Перелазил асистант, и нашел только скриншоты прог не по теме с таким текстом.
И в QLabel шрифты без антиэлайзинга, как его там включить ?
Тупые вопросы, отвечаем и удаляем


Название: Re: Как рисовать текст с бордером?
Отправлено: Racheengel от Января 31, 2008, 09:50
1. какой бордер имеется в виду? если рамка вокруг текста, см. QFrame::setFrameStyle.
2. там - никак. в системе должен быть включен.


Название: Re: Как рисовать текст с бордером?
Отправлено: Alex03 от Января 31, 2008, 13:27
И в QLabel шрифты без антиэлайзинга, как его там включить ?
У QWidget-а есть QFont, а у QFont setStyleStrategy (StyleStrategy s) с чемнибудь из
QFont::NoAntialias
QFont::PreferAntialias
и т.д.

Но в большинстве случаев лучше этим в приложении/системе рулить.


Название: Re: Как рисовать текст с бордером?
Отправлено: IGHOR от Февраля 01, 2008, 07:06
1. какой бордер имеется в виду? если рамка вокруг текста, см. QFrame::setFrameStyle.
2. там - никак. в системе должен быть включен.

нет, не фрейм рамка, а вот такая и тень под текстом:


Название: Re: Как рисовать текст с бордером?
Отправлено: BRE от Февраля 01, 2008, 09:36
Сначала, рисуешь нужный текст серым цветом сдвинув его немного влево и вниз, а затем рисуешь текст в нужных координатах нужным цветом.  ;)


Название: Re: Как рисовать текст с бордером?
Отправлено: BRE от Февраля 01, 2008, 09:37
Точнее вправо и вниз.


Название: Re: Как рисовать текст с бордером?
Отправлено: Tonal от Февраля 01, 2008, 10:54
Насчёт обводки - QPainterPath


Название: Re: Как рисовать текст с бордером?
Отправлено: IGHOR от Февраля 01, 2008, 16:22
Сначала, рисуешь нужный текст серым цветом сдвинув его немного влево и вниз, а затем рисуешь текст в нужных координатах нужным цветом.  ;)

а я раньше так и делал :), но хочится красивее

Насчёт обводки - QPainterPath

Спасибо, вдупляюсь..


Название: Re: Как рисовать текст с бордером?
Отправлено: IGHOR от Февраля 05, 2008, 17:56
Спасибо, все работает, но как этот текст алигнить по центру ?


Название: Re: Как рисовать текст с бордером?
Отправлено: Tonal от Февраля 06, 2008, 11:51
Берёшь габариты - QPainterPat::boundingRect - вычисляешь сдвиг.
Далее, или сдвигаешь все элементы пача, или устанавливаешь матрицу трансформации.


Название: Re: Как рисовать текст с бордером?
Отправлено: IGHOR от Февраля 07, 2008, 16:14
А если нужно с setHtml типа будет текст с wordWrap ом, то тогда что ?