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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Раскрасить текст в QLabel  (Прочитано 4877 раз)
fulkabaster
Гость
« : Февраль 07, 2010, 17:47 »

Подскажите, пожалуйста, как по-простому, имея переменную типа QColor, передать ее в QLabel, чтобы текст стал заданного цвета? (Я знаю, что можно использовать в самом тексте html-тэги для этого, но нужно именно через QColor). Полез разбираться в assistant - там через палитры что-то менять, короче муторно, для такой простой задачки, которая мне вряд ли еще когда пригодится Улыбающийся
Записан
MoPDoBoPoT
Гость
« Ответ #1 : Февраль 07, 2010, 18:42 »

Полез разбираться в assistant - там через палитры что-то менять
Ну да, через палитру:
Код:
...
QLabel *lbl = new QLabel(this);
QColor color;
...
QPalette palette(lbl->palette());  //копируем имеющуюся палитру лейбла (вдруг нестандартная)
palette.setColor(QPalette::WindowText, color);
lbl->setPalette(palette);
...
Записан
fulkabaster
Гость
« Ответ #2 : Февраль 07, 2010, 18:52 »

Спасибо!
Записан
fulkabaster
Гость
« Ответ #3 : Февраль 07, 2010, 19:54 »

А почему не удается таким же способом изменить фон для надписи в QLabel? Делаю то же самое, но вместо QPalette::WindowText передаю QPalette::Window (либо QPalette::Background) - но фон не меняется, остается обычным серым.
Записан
Павел_F.
Гость
« Ответ #4 : Февраль 07, 2010, 20:28 »

еще добавте setAutoFillBackground( true) и тогда фон закрасится.
Записан
break
Гипер активный житель
*****
Offline Offline

Сообщений: 846


Просмотр профиля
« Ответ #5 : Февраль 10, 2010, 23:50 »

Можно проще

<font color="red">TEXT</font>

и аналогичные теги

при этом в свойстве textFormat - должно быть RichText или AutoText
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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