Russian Qt Forum
Ноябрь 24, 2024, 19:53 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Смена иконок дял одной кнопки по условию  (Прочитано 6047 раз)
SektorCT
Частый гость
***
Offline Offline

Сообщений: 229


Просмотр профиля
« : Август 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"));
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #1 : Август 27, 2015, 10:35 »

ничего не понятно, в коде у вас все прописано...
Записан
SektorCT
Частый гость
***
Offline Offline

Сообщений: 229


Просмотр профиля
« Ответ #2 : Август 27, 2015, 10:58 »

ничего не понятно, в коде у вас все прописано...

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

Сообщений: 1805



Просмотр профиля WWW
« Ответ #3 : Август 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"));
Записан

SektorCT
Частый гость
***
Offline Offline

Сообщений: 229


Просмотр профиля
« Ответ #4 : Август 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"));

Это опечатка, спасибо исправил но это не помогло)
Иконки вытаскиваются для кнопок других что не требуются для смены при условиях, и все норм.
По этому и странно что тут не подхватывает.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #5 : Август 27, 2015, 11:57 »

Конечно для начала проверить иконку которая почему-то не появляется, напр просто ставить ее всегда, без условия. Не помогло - ладно, перед ее установкой печатать m->isVisible, дальше видно будет

Сначала отлаживаться надо, потом на форуме спрашивать (если будет что)
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #6 : Август 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"));
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #7 : Август 27, 2015, 13:17 »

какая версия Qt? Ось? какой класс для кнопки?
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #8 : Август 27, 2015, 13:26 »

какая версия Qt? Ось? какой класс для кнопки?
(про себя) "ты у меня отвечать быстро устанешь"  Улыбающийся
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #9 : Август 27, 2015, 15:01 »

какая версия Qt? Ось? какой класс для кнопки?
(про себя) "ты у меня отвечать быстро устанешь"  Улыбающийся

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

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.09 секунд. Запросов: 23.