Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [Qt] изменение цвета кнопки


Автор: gordmiand 28.2.2010, 00:12
  делаю так:
Код

   QPalette pal=ui->name_vidget->palette();                              
     pal.setColor(QPalette::param1, QPalette::param2, Qt::green);              
     ui->name_vidget ->setPalette(pal);


почему цвет виджета не меняется, если:
1. name_vidget=pushButton        param1=Active        param2=Button           
2. name_vidget=label               param1= Active       param2= Text

3. name_vidget=lineEdit/comboBox     param1= Active       param2= Base/Text     - все работает верно, а чем тогда label хуже (в вар.2 цвет текста у лейбла не меняется)? 
          
Мне надо поменять цвет кнопки…думал, что вар-т 1, а не получается….в чем ошибка и как будет правильно?

Автор: gordmiand 28.2.2010, 11:48
и все-таки - как поменять цвет кнопки? что у меня в коде (см. выше) неверно/не хватает?

Автор: borisbn 28.2.2010, 11:55
Код

pushBtn->setStyleSheet( " background-color: green; " );

вообще сами qt-шники советуют использовать http://qt.nokia.com/doc/4.6/stylesheet.html

Автор: gordmiand 28.2.2010, 12:07
borisbn: спасибо за ответ, но почему в Вашем примере зеленый такой темный? Qt::green гораздо светлее (см. мой вар-т №3 выше)....мне светлый нужен (вроде наз-ся Qt::green, а на самом деле салатовый)!!! 
и почему все-таки с палитрой (как я хотел выше) не получается?

Автор: SABROG 28.2.2010, 13:39
Открой дизайнер, выдели label на виджете и в свойствах объекта найди Palette, экспериментируй там.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)