Название: как поменять цвет фона в 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 Спасибо, видимо другого варрианта и в правду нет :(
|