Russian Qt Forum

Qt => Общие вопросы => Тема начата: moroz от Август 09, 2006, 11:37



Название: как поменять цвет фона в Qt4
Отправлено: moroz от Август 09, 2006, 11:37
Кто-нибудь сталкивался с проблемой смена цвета фона? В Qt3 была функция QWidget::setPaletteBackgroundColor(). Я не смог найти ее эквивалента в Qt4. В Qt4-examples тоже ничего путевого не нашол. Варриант типа setPalette(QColor(Qt::red)), мне тоже не особенно нравиться.   :?


Название: как поменять цвет фона в Qt4
Отправлено: bigirbis от Август 09, 2006, 12:00
Зря ты так. Просто Тролли избавились от левых методов и систематизировали работу с цветами.
Всё теперь через роли.

enum QPalette::ColorRole


Название: как поменять цвет фона в Qt4
Отправлено: moroz от Август 09, 2006, 13:22
Спасибо,
только я все равно не совсем понимаю: QWidget::setBackgroundRole(QPalette::ColorRole role)
в этом методе я могу задать роль для фона, а как мне задать цвет?


Название: как поменять цвет фона в Qt4
Отправлено: bigirbis от Август 09, 2006, 13:36
Это немного другое.
Этот метод используется для установления цвета из цветовой палитры виджета.

Если нужен кастом:

QPalette palette;
palette.setColor( QColor( Qt::Red ), QPalette::Background );
widget->setPalette( palette );


Название: как поменять цвет фона в Qt4
Отправлено: moroz от Август 09, 2006, 13:51
И что теперь никак одной строчкой нельзя?
Тоесть теперь получается для того чтобы поменять цвет фона нужно, провернуть серию операций, т.е.:
- создать объект палитры
- установить в нем цвет для фона
- установить его в виджете
да, и еще понадобиться наверно предварительно присвоить объекту палитры, палитру виджета, а то палитра по умолчанию может с ней не совпасть.
Помоему раньше было гораздо проще.
Неужели нет ничего более простого?


Название: как поменять цвет фона в Qt4
Отправлено: bigirbis от Август 09, 2006, 14:06
Другого варианта что-то не встречал.
Правда я немного напортачил в примере:
Цитировать
QPalette palette;

QPalette palette = widget->palette();
- это в том случае, если палитра уже нестандартная.


Название: как поменять цвет фона в Qt4
Отправлено: moroz от Август 09, 2006, 14:13
Спасибо, видимо другого варрианта и в правду нет  :(