Russian Qt Forum

Qt => Qt Script, QtWebKit => Тема начата: PulSar.CE3194694 от Август 13, 2011, 14:01



Название: Перекрасить текст в другой цвет
Отправлено: PulSar.CE3194694 от Август 13, 2011, 14:01
Как? Нигде не видел метод перекраски (ну кроме QPainter, но не в счет). И почему-то в QFont его тоже нет, хотя это напрямую его обязанность. Можно , конечно, использовать сам html, но он не подойдет, нужно менять уметь цвет программно, в любой момент выполнения программы.


Название: Re: Перекрасить текст в другой цвет
Отправлено: GreatSnake от Август 13, 2011, 15:12
Цитировать
И почему-то в QFont его тоже нет, хотя это напрямую его обязанность.
С чего это вдруг?


Название: Re: Перекрасить текст в другой цвет
Отправлено: PulSar.CE3194694 от Август 13, 2011, 15:39
Ну где? Покажи? Метода типа setFontColor я не видел. Вместо того, чтобы себе посты набивать, написал бы тут название метода!


Название: Re: Перекрасить текст в другой цвет
Отправлено: LisandreL от Август 13, 2011, 17:00
И почему-то в QFont его тоже нет, хотя это напрямую его обязанность.
Цвета - напрямую обязанность палитры, а не шрифта.

написал бы тут название метода
QPalette::setColor


Название: Re: Перекрасить текст в другой цвет
Отправлено: PulSar.CE3194694 от Август 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. Что за бред?


Название: Re: Перекрасить текст в другой цвет
Отправлено: kambala от Август 13, 2011, 18:07
Код
C++ (Qt)
QPalette palette = ui->preview->palette();
palette.setColor(QPalette::WindowText, color);
ui->preview->setPalette(palette);


Название: Re: Перекрасить текст в другой цвет
Отправлено: GreatSnake от Август 13, 2011, 18:52
Ну где? Покажи? Метода типа setFontColor я не видел. Вместо того, чтобы себе посты набивать, написал бы тут название метода!
Я тебе написал, что фонт не обязян ничего раскрашивать)