Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: SektorCT от Август 26, 2015, 22:42



Название: Смена иконок дял одной кнопки по условию
Отправлено: SektorCT от Август 26, 2015, 22:42
Добрый вечер всем.
Возникла такая проблемка, есть кнопка которая меняет при нажатии условия и требуется чтобы и иконка на ней тоже менялась.
Подскажите пожалуйста как это можно исправить. Ниже привожу код.
Заранее спасибо.

memberName.setText(m->getName());
    //visible.setText(m->isVisible() ? "hide" : "show");
    visible.setIcon(m->isVisible() ? QIcon(":/images/TimeLine/ButsObjScale/visibility.png")
                                   : QIcon(":/images/TimeLine/ButsObjScale/visibility(invisibility).png"));
    //locked.setText(m->isLocked() ? "unlock" : "lock");
    locked.setIcon(m->isVisible() ? QIcon(":/images/TimeLine/ButsObjScale/unlock.png")
                                   : QIcon(":/images/TimeLine/ButsObjScale/block.png"));


Название: Re: Смена иконок дял одной кнопки по условию
Отправлено: Fregloin от Август 27, 2015, 10:35
ничего не понятно, в коде у вас все прописано...


Название: Re: Смена иконок дял одной кнопки по условию
Отправлено: SektorCT от Август 27, 2015, 10:58
ничего не понятно, в коде у вас все прописано...

А что вы хотите увидеть еще в коде? Я кинул ту часть кода где именно эта задача и выполняется.
Если вы посмотрите внимательнее то там закоментированные 2 строки. это надписи на кнопках при смене условий. И названяи кнопок меняются как и положено(для теста было сделано).
А вот смена иконок не работает при тех же условиях.
Если вы знаете как это нужно в коде исправить то буду признателен.


Название: Re: Смена иконок дял одной кнопки по условию
Отправлено: gil9red от Август 27, 2015, 11:33
Вроде бы все нормально.
Вы пробовали просто показать все перечисленные иконки, например, поместив их в тестовый виджет -- чтобы проверить, что все иконки удачно достаются из ресурсов?
То, что выделенно жирным, это так должно быть или это очепятка?

//locked.setText(m->isLocked() ? "unlock" : "lock");
locked.setIcon(m->isVisible() ? QIcon(":/images/TimeLine/ButsObjScale/unlock.png")
                                        : QIcon(":/images/TimeLine/ButsObjScale/block.png"));


Название: Re: Смена иконок дял одной кнопки по условию
Отправлено: SektorCT от Август 27, 2015, 11:47
Вроде бы все нормально.
Вы пробовали просто показать все перечисленные иконки, например, поместив их в тестовый виджет -- чтобы проверить, что все иконки удачно достаются из ресурсов?
То, что выделенно жирным, это так должно быть или это очепятка?

//locked.setText(m->isLocked() ? "unlock" : "lock");
locked.setIcon(m->isVisible() ? QIcon(":/images/TimeLine/ButsObjScale/unlock.png")
                                        : QIcon(":/images/TimeLine/ButsObjScale/block.png"));

Это опечатка, спасибо исправил но это не помогло)
Иконки вытаскиваются для кнопок других что не требуются для смены при условиях, и все норм.
По этому и странно что тут не подхватывает.


Название: Re: Смена иконок дял одной кнопки по условию
Отправлено: Igors от Август 27, 2015, 11:57
Конечно для начала проверить иконку которая почему-то не появляется, напр просто ставить ее всегда, без условия. Не помогло - ладно, перед ее установкой печатать m->isVisible, дальше видно будет

Сначала отлаживаться надо, потом на форуме спрашивать (если будет что)


Название: Re: Смена иконок дял одной кнопки по условию
Отправлено: __Heaven__ от Август 27, 2015, 13:10
Попробуйте так:
Код
C++ (Qt)
locked.setIcon(true ? QIcon(":/images/TimeLine/ButsObjScale/unlock.png")
                                       : QIcon(":/images/TimeLine/ButsObjScale/block.png"));
А потом так
Код
C++ (Qt)
locked.setIcon(false ? QIcon(":/images/TimeLine/ButsObjScale/unlock.png")
                                       : QIcon(":/images/TimeLine/ButsObjScale/block.png"));


Название: Re: Смена иконок дял одной кнопки по условию
Отправлено: Racheengel от Август 27, 2015, 13:17
какая версия Qt? Ось? какой класс для кнопки?


Название: Re: Смена иконок дял одной кнопки по условию
Отправлено: Igors от Август 27, 2015, 13:26
какая версия Qt? Ось? какой класс для кнопки?
(про себя) "ты у меня отвечать быстро устанешь"  :)


Название: Re: Смена иконок дял одной кнопки по условию
Отправлено: Racheengel от Август 27, 2015, 15:01
какая версия Qt? Ось? какой класс для кнопки?
(про себя) "ты у меня отвечать быстро устанешь"  :)

Ну, просто получается, что какая-то кнопка в какой-то версии кути под какой-то осью не работает :)
<< a button does not work properly with some Qt version on an operation system >>