Название: [РЕШЕНО] Изменение цвета иконки Отправлено: Vladimir от Март 21, 2014, 12:57 Доброго дня! Хочется чтобы при залипании кнопки иконка была активной, а в отщелкнутом состоянии становилось Disabled. Делаю так:
Код: btnScaleUp = new QPushButton(this); иконка отображается, но вообще не меняется ??? что не так? Название: Re: Изменение цвета иконки Отправлено: Bepec от Март 21, 2014, 14:18 На мой взгляд вы просто устанавливаете одну и ту же pixmap на 2 разных состояния, не?
Название: Re: Изменение цвета иконки Отправлено: Vladimir от Март 21, 2014, 14:32 На мой взгляд вы просто устанавливаете одну и ту же pixmap на 2 разных состояния, не? ммм.. так а нужно иметь 2 картинки? я хотел чтобы Qt сам поменял картинку (сделал ее серой), для неактивного состояния, а для активного снова отобразил как есть. в этом же и смысл.. или я что-то не правильно понимаю.. как это реализовать? Название: Re: Изменение цвета иконки Отправлено: Bepec от Март 21, 2014, 16:21 Иконка сама реализует затемнение. А вы устанавливаете вместо значений по умолчанию картинки.
Псевдокод: Код: QIcon tempIcon (QPixmap("ГдетоКакаятоКартинка")); Название: Re: Изменение цвета иконки Отправлено: Igors от Март 21, 2014, 18:02 Сделайте 1 addPixmap без 3-го параметра и посмотрите
Название: Re: Изменение цвета иконки Отправлено: Vladimir от Март 23, 2014, 14:49 Спасибо за разъяснения..
Код: QIcon tmpIcon; так работает (в слоте обрабоки нажатия на кнопку меняю состояние с Active на Disabled), так этот механизм и должен использоваться? или при инициализации кнопки можно задать состояния иконки при нажатой/отжатой кнопки, а не делать это в обработке? на что влияют флаги QIcon::Off и QIcon::On, не на состояние кнопки? не могу понять.. Потому что, если при инициализации писать Код: btnScaleUp = new QPushButton(this); Название: Re: Изменение цвета иконки Отправлено: Igors от Март 23, 2014, 15:35 так работает (в слоте обрабоки нажатия на кнопку меняю состояние с Active на Disabled), так этот механизм и должен использоваться? или при инициализации кнопки можно задать состояния иконки при нажатой/отжатой кнопки, а не делать это в обработке? на что влияют флаги QIcon::Off и QIcon::On, не на состояние кнопки? не могу понять.. Я это понимаю так: QIcon задуман чтобы автоматом/пулеметом рисовать вариации одной и той же пиксмапы. Поэтому достаточно сделать 1 addPixmap и она сама разберется. Ну вернее стиль, производство вариантов на нем. Однако может случиться что автомат не устраивает - (напр у меня selected слишком бледный) - тогда есть возможность задать явно. Делая addPix,ap(...QIcon::Off) Вы указываете что Off иконка должна быть точно той пиксмапой что Вы назначили. Ну а поскольку Вы назначили одинаковые - они и будут |