Russian Qt Forum

Qt => Вопросы новичков => Тема начата: bobka от Январь 07, 2014, 18:28



Название: идентификация QCheckBox в QGroupBox при сигнале stateChanged
Отправлено: bobka от Январь 07, 2014, 18:28
как реализовать?  проблема в том, что checkbox  в groupbox много - как мне идентифицировать тот checkbox, который  сгенерировал сигнал stateChanged???
 то есть при выставление "галочки" - сработал слот


Название: Re: идентификация QCheckBox в QGroupBox при сигнале stateChanged
Отправлено: VPS от Январь 07, 2014, 18:45
А поиск по форуму для чего придумали:
http://www.prog.org.ru/topic_14792_0.html


Название: Re: идентификация QCheckBox в QGroupBox при сигнале stateChanged
Отправлено: gil9red от Январь 07, 2014, 18:46
QGroupBox просто "содержит" на себе виджеты.
Подключайте слот именно к QCheckBox.
Кнопки (QCheckBox тоже является кнопкой) можно объединять в QButtonGroup и ловить сигнал от него - аналог QSignalMapper.
Можно также просто все checkbox'ы подключить к одному слоту, и в слоте с помощью sender() определять кто отослал сигнал


Название: Re: идентификация QCheckBox в QGroupBox при сигнале stateChanged
Отправлено: bobka от Январь 07, 2014, 18:49
спасибо, буду решать через -QSignalMapper


Название: Re: идентификация QCheckBox в QGroupBox при сигнале stateChanged
Отправлено: Fregloin от Январь 08, 2014, 11:14
Проще простого это в каждый checkBox через setData задать какой то идентификатор, можно число или строку, да все что угодно.
В слоте через sender->data() получить идентификатор, а дальше уже на ваше усмотрение. Я так часто делаю. Быстро и просто.


Название: Re: идентификация QCheckBox в QGroupBox при сигнале stateChanged
Отправлено: Serr500 от Январь 08, 2014, 11:58
Насколько мне известно, у чекбокса нет методов data/setData...


Название: Re: идентификация QCheckBox в QGroupBox при сигнале stateChanged
Отправлено: Alex Custov от Январь 08, 2014, 12:24
Насколько мне известно, у чекбокса нет методов data/setData...

Вангую что имелось ввиду property()/setProperty(). Но это костыль.


Название: Re: идентификация QCheckBox в QGroupBox при сигнале stateChanged
Отправлено: Serr500 от Январь 08, 2014, 15:27
Нехилый такой костыль...  Лучше уж унаследоваться от QCheckBox и добавить мембер...


Название: Re: идентификация QCheckBox в QGroupBox при сигнале stateChanged
Отправлено: Day от Январь 08, 2014, 15:32
Проще простого это в каждый checkBox через setData задать какой то идентификатор, можно число или строку, да все что угодно.
В слоте через sender->data() получить идентификатор, а дальше уже на ваше усмотрение. Я так часто делаю. Быстро и просто.
Тогда уж проще через setObjectName, objectName.