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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: идентификация QCheckBox в QGroupBox при сигнале stateChanged  (Прочитано 4728 раз)
bobka
Гость
« : Январь 07, 2014, 18:28 »

как реализовать?  проблема в том, что checkbox  в groupbox много - как мне идентифицировать тот checkbox, который  сгенерировал сигнал stateChanged???
 то есть при выставление "галочки" - сработал слот
Записан
VPS
Гость
« Ответ #1 : Январь 07, 2014, 18:45 »

А поиск по форуму для чего придумали:
http://www.prog.org.ru/topic_14792_0.html
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #2 : Январь 07, 2014, 18:46 »

QGroupBox просто "содержит" на себе виджеты.
Подключайте слот именно к QCheckBox.
Кнопки (QCheckBox тоже является кнопкой) можно объединять в QButtonGroup и ловить сигнал от него - аналог QSignalMapper.
Можно также просто все checkbox'ы подключить к одному слоту, и в слоте с помощью sender() определять кто отослал сигнал
« Последнее редактирование: Январь 08, 2014, 13:04 от gil9red » Записан

bobka
Гость
« Ответ #3 : Январь 07, 2014, 18:49 »

спасибо, буду решать через -QSignalMapper
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #4 : Январь 08, 2014, 11:14 »

Проще простого это в каждый checkBox через setData задать какой то идентификатор, можно число или строку, да все что угодно.
В слоте через sender->data() получить идентификатор, а дальше уже на ваше усмотрение. Я так часто делаю. Быстро и просто.
Записан
Serr500
Гость
« Ответ #5 : Январь 08, 2014, 11:58 »

Насколько мне известно, у чекбокса нет методов data/setData...
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #6 : Январь 08, 2014, 12:24 »

Насколько мне известно, у чекбокса нет методов data/setData...

Вангую что имелось ввиду property()/setProperty(). Но это костыль.
Записан
Serr500
Гость
« Ответ #7 : Январь 08, 2014, 15:27 »

Нехилый такой костыль...  Лучше уж унаследоваться от QCheckBox и добавить мембер...
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #8 : Январь 08, 2014, 15:32 »

Проще простого это в каждый checkBox через setData задать какой то идентификатор, можно число или строку, да все что угодно.
В слоте через sender->data() получить идентификатор, а дальше уже на ваше усмотрение. Я так часто делаю. Быстро и просто.
Тогда уж проще через setObjectName, objectName.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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