Russian Qt Forum
Ноябрь 24, 2024, 20:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вывод форматированного текста в QPainter  (Прочитано 7488 раз)
manarch
Гость
« : Март 10, 2010, 10:04 »

Подскажите если знаете как вывести форматированный текст в QPainter? А то нужно выводит текст при перерисовке в зависимости от ситуации, или другим цветом или жирным или подчеркнутым а создавать ради этого QLabel нет смысла, тем более что количество надписей неограниченно.
Записан
voronElf
Гость
« Ответ #1 : Март 10, 2010, 10:26 »

Играться с QFont:

вывод числа как штрихкода (выше подключаю из файла соответствующий шрифт через QFontDatabase), просто из моего кода вырвано
Код:
            
            str = font.family();
            font.setFamily(m_familyFontBarCode);
            font.setPixelSize(pc->pxFontSize3_1);
            painter->setFont(font);
            painter->drawText(rectPc, Qt::AlignRight | Qt::AlignVCenter, m_db->valStr(7));
            font.setFamily(str);
Записан
manarch
Гость
« Ответ #2 : Март 10, 2010, 10:45 »

Вообще то это несколько не то. Форматированный текст - вообще это "Rich text". В моем случае я использую html теги для задания вида текста (<b></b>, <i></i> и т.д). Поэтому изменение шрифта тут не поможеш. В исходниках QLabel все завязанно нв внитреннем представлени. поэтому вытянуть оттуда не смог.
Записан
alexman
Гость
« Ответ #3 : Март 10, 2010, 11:04 »

В зависимости от тега устанавливай соответствующий QFont.
Записан
voronElf
Гость
« Ответ #4 : Март 10, 2010, 11:13 »

Цитировать
В зависимости от тега устанавливай соответствующий QFont.
получаем разбор html нада будет ручками делать. Подозреваю что нужный обработчи уже есть , готовый , используется в том же QLabel. Нужно только знать как его вызвать. Но это домыслы. Будем ждать, пока кто-нить знающий подскажет, заинтересовало ...
Записан
Akaiten
Гость
« Ответ #5 : Март 10, 2010, 11:18 »

Можно сделать проще, см. QTextDocument::drawContents()
Записан
SABROG
Гость
« Ответ #6 : Март 10, 2010, 12:17 »

Можно сделать проще, см. QTextDocument::drawContents()

Собственный Label.
Записан
manarch
Гость
« Ответ #7 : Март 10, 2010, 14:03 »

Собственный Label.
Воооот... этот пример я и пытался безуспешно найти в течении дня. :-)  Спс Друг !
Только вот уже к сожалению не понадобился. Таки выдрать из исходников QLabel. Теперь и на setEnabled реагирует отрисовка текста.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.118 секунд. Запросов: 21.