Russian Qt Forum
Ноябрь 24, 2024, 12:48
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Изменение цвета текста в QLabel
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Изменение цвета текста в QLabel (Прочитано 19426 раз)
kadr
Гость
Изменение цвета текста в QLabel
«
:
Декабрь 17, 2009, 13:12 »
Привет всем, подскажите как в коде изменить цвет текста в QLabel!
Пытаюсь по такому вот методу: ui->alians_time->palette().text().setColor(color.red());
А он выдает ошибку:
passing 'const QBrush' as 'this' argument of 'void QBrush::setColor(const QColor&)' discards qualifiers
«
Последнее редактирование: Декабрь 17, 2009, 13:28 от kadr
»
Записан
SimpleSunny
Гость
Re: Изменение цвета текста в QLabel
«
Ответ #1 :
Декабрь 17, 2009, 13:38 »
m->palette() - Константный метод, поэтому через него не можем менять.
QPalette pal(m->palette());
...
m->setPalette(pal);
Записан
kadr
Гость
Re: Изменение цвета текста в QLabel
«
Ответ #2 :
Декабрь 17, 2009, 13:50 »
Цитата: SimpleSunny от Декабрь 17, 2009, 13:38
m->palette() - Константный метод, поэтому через него не можем менять.
QPalette pal(m->palette());
...
m->setPalette(pal);
А можно по конкретнее относительно моего случая, что такое m и где она объявляется, и как конкретно задать цвет текста для QLabel!
Записан
SimpleSunny
Гость
Re: Изменение цвета текста в QLabel
«
Ответ #3 :
Декабрь 17, 2009, 13:55 »
m - это твой QLabel. Т. е. создаешь свой QPalette на основе QLabel->palette(). Изменяешь его на свой вкус (в твоем случае меняешь цвет) и задаешь измененный palette QLabel->setPalette();
Записан
kadr
Гость
Re: Изменение цвета текста в QLabel
«
Ответ #4 :
Декабрь 17, 2009, 14:03 »
Цитата: SimpleSunny от Декабрь 17, 2009, 13:55
m - это твой QLabel. Т. е. создаешь свой QPalette на основе QLabel->palette(). Изменяешь его на свой вкус (в твоем случае меняешь цвет) и задаешь измененный palette QLabel->setPalette();
Хорошо я сделал так:
if (inf.lastModified().toString("dd.MM.yyyy") != date.currentDate().toString("dd.MM.yyyy"))
{
QPalette pal(ui->alians_time->palette());
ui->alians_time->setPalette(pal);
}
А как сам цвет то изменить, мне до сих пор остается не ясным!
Записан
NicK
Гость
Re: Изменение цвета текста в QLabel
«
Ответ #5 :
Декабрь 17, 2009, 14:05 »
Код:
lable->setText("<FONT COLOR=#008000>Some coloured text</FONT>");
Записан
SimpleSunny
Гость
Re: Изменение цвета текста в QLabel
«
Ответ #6 :
Декабрь 17, 2009, 14:09 »
Ты же сам написал в первом своём посте, как менять цвет.
pal.setColor(QPalette::TExt, color.red());
Цитата: NicK от Декабрь 17, 2009, 14:05
Код:
lable->setText("<FONT COLOR=#008000>Some coloured text</FONT>");
А если "Some coloured text" = <html>...</html> или другие прочие радости, ИМХО лучше пользоваться штатными средствами.
«
Последнее редактирование: Декабрь 17, 2009, 14:11 от SimpleSunny
»
Записан
kadr
Гость
Re: Изменение цвета текста в QLabel
«
Ответ #7 :
Декабрь 17, 2009, 14:27 »
Цитата: NicK от Декабрь 17, 2009, 14:05
Код:
lable->setText("<FONT COLOR=#008000>Some coloured text</FONT>");
Да это то что надо, спасибо!
Записан
kadr
Гость
Re: Изменение цвета текста в QLabel
«
Ответ #8 :
Декабрь 17, 2009, 14:28 »
Цитата: SimpleSunny от Декабрь 17, 2009, 14:09
Ты же сам написал в первом своём посте, как менять цвет.
pal.setColor(QPalette::TExt, color.red());
Цитата: NicK от Декабрь 17, 2009, 14:05
Код:
lable->setText("<FONT COLOR=#008000>Some coloured text</FONT>");
А если "Some coloured text" = <html>...</html> или другие прочие радости, ИМХО лучше пользоваться штатными средствами.
Так не работает!
Записан
SimpleSunny
Гость
Re: Изменение цвета текста в QLabel
«
Ответ #9 :
Декабрь 17, 2009, 14:38 »
Просто с ролью слегка напутал.
pal.setColor(QPalette::WindowText, color.red());
P. S. И имелось виду color.red() или всё-таки Qt::red?
P. P. S.
(inf.lastModified().toString("dd.MM.yyyy") != date.currentDate().toString("dd.MM.yyyy"))
Зачем переводить в строки?
(inf.lastModified() != date.currentDate())
Записан
DenisKh001
Гость
Re: Изменение цвета текста в QLabel
«
Ответ #10 :
Май 02, 2011, 20:04 »
вот так правильно: pal.setColor(QPalette::Text, Qt::red);
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...