Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: OS2 от Июнь 08, 2009, 17:34



Название: Как изменить цвет фона у кнопки QPushButton?
Отправлено: OS2 от Июнь 08, 2009, 17:34
Прошу прощения за столь глупый вопрос, но возникла необходимость поменять цвет фона кнопки, типа: QPushButton.  ???
Несмог найти методов, которые бы позволяли, сравнительно просто, это осуществить...
Подскажите, кто чем может!  ::)


Название: Re: Как изменить цвет фона у кнопки QPushButton?
Отправлено: lit-uriy от Июнь 08, 2009, 18:03
Буквально недавно на форуме была такая тема, с несколькими вариантами реализации.


Название: Re: Как изменить цвет фона у кнопки QPushButton?
Отправлено: OS2 от Июнь 08, 2009, 19:08
В этой ветке?
Что то я найти не могу....


Название: Re: Как изменить цвет фона у кнопки QPushButton?
Отправлено: spirit от Июнь 08, 2009, 19:16
через QPalette или через style sheets.
поиграться и с тем и с тем можно в дизайнере.


Название: Re: Как изменить цвет фона у кнопки QPushButton?
Отправлено: OS2 от Июнь 08, 2009, 19:17
Извиняюсь, всё нашел....просто не там искал!  :D


Название: Re: Как изменить цвет фона у кнопки QPushButton?
Отправлено: OS2 от Июнь 08, 2009, 23:55
К сожелению не все оказалось просто...
Я изменил цвет фона так:
Код
C++ (Qt)
QPalette myPalette = m_bButtonClose->palette();
myPalette.setColor( m_bButtonClose->backgroundRole(), QColor(0,250,0) );
m_bButtonClose->setPalette( myPalette );
 
но на моей кнопке установлен флаг: setCheckable( true ) и если, когда кнопка имеет нажатое состояние, сделать её setDisabled( true ), то справа и снизу у кнопки останутся полоски, цвета бэкграунда(как на рисунке).
Подскажите, как от этого можно избавиться, как сделать так, чтобы в состоянии setCheckable( true ) и setDisabled( true ) отсутствовали эти полоски?


Название: Re: Как изменить цвет фона у кнопки QPushButton?
Отправлено: lit-uriy от Июнь 09, 2009, 01:13
тык (http://www.prog.org.ru/topic_8318_0.html)
оно?


Название: Re: Как изменить цвет фона у кнопки QPushButton?
Отправлено: spirit от Июнь 09, 2009, 07:54
глянь вот этот (http://doc.qtsoftware.com/4.5/qpalette.html#ColorRole-enum) рисунок,
а в особенности на роли кнопки, будет понятней как убрать эту полоску.


Название: Re: Как изменить цвет фона у кнопки QPushButton?
Отправлено: SASA от Июнь 09, 2009, 17:30
Тут на форуме кто-то выкладывал интересную програмку. Там настраиваешь параметры кнопки (много параметров), а она тебе код на С++. Copy, Paste  и тру-ля-ля.