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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Перекрасить текст в другой цвет  (Прочитано 5124 раз)
PulSar.CE3194694
Гость
« : Август 13, 2011, 14:01 »

Как? Нигде не видел метод перекраски (ну кроме QPainter, но не в счет). И почему-то в QFont его тоже нет, хотя это напрямую его обязанность. Можно , конечно, использовать сам html, но он не подойдет, нужно менять уметь цвет программно, в любой момент выполнения программы.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Август 13, 2011, 15:12 »

Цитировать
И почему-то в QFont его тоже нет, хотя это напрямую его обязанность.
С чего это вдруг?
Записан

Qt 5.11/4.8.7 (X11/Win)
PulSar.CE3194694
Гость
« Ответ #2 : Август 13, 2011, 15:39 »

Ну где? Покажи? Метода типа setFontColor я не видел. Вместо того, чтобы себе посты набивать, написал бы тут название метода!
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #3 : Август 13, 2011, 17:00 »

И почему-то в QFont его тоже нет, хотя это напрямую его обязанность.
Цвета - напрямую обязанность палитры, а не шрифта.

написал бы тут название метода
QPalette::setColor
Записан
PulSar.CE3194694
Гость
« Ответ #4 : Август 13, 2011, 17:34 »

Благодарю, добрый человек!

Код:
ui->preview->palette().setColor(QPalette::WindowText, color);
Пишет ошибку: D:\Documents\Qt\fb2Reader\fb2Reader-build-desktop\..\fb2Reader\SettingsDialog.cpp:129: ошибка: passing 'const QPalette' as 'this' argument of 'void QPalette::setColor(QPalette::ColorRole, const QColor&)' discards qualifiers. Что за бред?
« Последнее редактирование: Август 13, 2011, 17:41 от PulSar.CE3194694 » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #5 : Август 13, 2011, 18:07 »

Код
C++ (Qt)
QPalette palette = ui->preview->palette();
palette.setColor(QPalette::WindowText, color);
ui->preview->setPalette(palette);
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #6 : Август 13, 2011, 18:52 »

Ну где? Покажи? Метода типа setFontColor я не видел. Вместо того, чтобы себе посты набивать, написал бы тут название метода!
Я тебе написал, что фонт не обязян ничего раскрашивать)
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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