Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: jurtal от Декабрь 29, 2009, 10:53



Название: Надо задизаблить кнопку с пиксмапом
Отправлено: jurtal от Декабрь 29, 2009, 10:53
Есть кнопка у которой setFlat(true).
На ее месте нарисован соответствующий pixmap.
Требуется уметь делать кнопку задизабленной (прорисовать pixmap "disabled" цветом, те чтобы он стал серым).
Идей пока нет.
Если у кого есть, пожалуйста поделитесь...  


Название: Re: Надо задизаблить кнопку с пиксмапом
Отправлено: lit-uriy от Декабрь 29, 2009, 14:10
если верить дизайнеру, то setDisable(true) изменяет вид картинки на серенькую


Название: Re: Надо задизаблить кнопку с пиксмапом
Отправлено: Varan от Декабрь 29, 2009, 15:36
если верить дизайнеру, то setDisable(true) изменяет вид картинки на серенькую
Кстати да. А в экзотических случаях я просто меняю одну картинку на другую. Если нужен какой-то особый вид.


Название: Re: Надо задизаблить кнопку с пиксмапом
Отправлено: jurtal от Декабрь 29, 2009, 18:02
1. Сделал промежуточный QIcon
2. Загрузил в него пиксмап
3. Сделал icon задизабленным
4. Сделал новый пиксмап и задал в его конструкторе задизабленный icon
5. Прорисовал пиксмап из п.4 поверх кнопочки...
Допускаю что можно было как-то пооптимальнее...


Название: Re: Надо задизаблить кнопку с пиксмапом
Отправлено: lit-uriy от Декабрь 29, 2009, 18:06
просто установи рисунок на кнопку, и кнопкой управляй. она сама будет менять свой рисунок как надо.