Не менять цвет QPushButton при установке disabled

222
01 ноября 2018, 11:40

Если кнопке QPushButton установить setDisabled(true) то текст\картинка установленная на поверхности кнопки обесцветится. Как этого избежать?

Answer 1

Вместо того что б дизэйблить кнопку, задисконнекть ее сигнал от слота, на который у тебя коннект ссылается. Для этой цели хорошо вместо автоматического on_foo_clicked() руками прописать слот onFooClicked() <именно без подчеркиваний>, и коннектить-дисконнектить его руками. Например, коннектить его в конструкторе

QObject::connect(ui.foo, SIGNAL(clicked()), this, SLOT(onFooClicked()))

и в том месте, где ты заново будешь включать кнопку,и дисконнектить

QObject::disconnect(ui.foo, SIGNAL(clicked()), this, SLOT(onFooClicked()))

там, где ты сейчас хочешь ее задизэйблить.

READ ALSO
Вопрос про Terminal blynk

Вопрос про Terminal blynk

Как бы реализовать запись с терминала в переменную?

227
Как подключить X11 к Qt проекту на MacOS High Sierra

Как подключить X11 к Qt проекту на MacOS High Sierra

Я пытаюсь скомпилировать вот такой проект

216
Криво парсится obj файл

Криво парсится obj файл

Хотел написать свой парсер для моделей в форматеobj для дальнейшего отображения их с помощью OpenGL, нашел некоторые инструкции (тут и здесь,...

201
C++ добавление (= default/delete) в конце функции

C++ добавление (= default/delete) в конце функции

Описывается, что если указать void func() = delete/default, то это указывает, что компилятор сам должен сгенерировать код для этой функции и именно он будет...

189