Название: Сигналы от QGroupBox и QRadioButton Отправлено: Siarshai от Апрель 23, 2013, 12:55 Обычная ситуация: есть QGroupBox, объединяющий несколько (порядка 10) QRadioButton'ов. Переключение QRadioButton'ов по сути изменяет значение одной флаговой переменной, причём линейно (т.е. значение переменной = номер выбранного QRadioButton'а). Но, чтобы изменить переменную, нужно присоединить QRadioButton к слоту объекта, хранящего переменную, и вот проблема: слот не может иметь больше аргументов, чем сигнал, а у clicked() их ноль. В результате приходится создавать 10 connect'ов и столько же слотов у объекта. Это явно избыточно. Неужели нет какого-нибудь красивого способа получить номер кликнутого Button'a и передать его? По идее, этим должен заниматься QGroupBox, но у него вроде ничего такого нет.
Название: Re: Сигналы от QGroupBox и QRadioButton Отправлено: Bepec от Апрель 23, 2013, 13:03 По секрету вам сообщаю, что есть один интересный класс - QButtonGroup с сигналом void buttonClicked ( int id ).
И всё. Название: Re: Сигналы от QGroupBox и QRadioButton Отправлено: mutineer от Апрель 23, 2013, 13:04 Попробуй использовать QSignalMapper
Название: Re: Сигналы от QGroupBox и QRadioButton Отправлено: kambala от Апрель 23, 2013, 13:55 можно просто в цикле присоединить всё к одному слоту и задать object name (или просто добавить property с числом) каждой кнопке, а потом в слоте считывать соответствующую штуку с sender()'а
Название: Re: Сигналы от QGroupBox и QRadioButton Отправлено: Bepec от Апрель 23, 2013, 14:12 Зачем мутить с маппером, сигнала и доп параметрами, если есть класс для этих целей, упомянутый мной ранее и включающий вообще всё, что только можно придумать?
Хм, не понимаю я вашей логики однако. Название: Re: Сигналы от QGroupBox и QRadioButton Отправлено: Siarshai от Апрель 23, 2013, 14:31 Спасибо всем. QButtonGroup, кажется, действительно самый удобный вариант.
Название: Re: Сигналы от QGroupBox и QRadioButton Отправлено: mutineer от Апрель 23, 2013, 16:46 Зачем мутить с маппером, сигнала и доп параметрами, если есть класс для этих целей, упомянутый мной ранее и включающий вообще всё, что только можно придумать? Хм, не понимаю я вашей логики однако. Тебе плохо стало от того, что я предложил человеку альтернативу? Может ему маппер в другом случае понадобится Название: Re: Сигналы от QGroupBox и QRadioButton Отправлено: Bepec от Апрель 23, 2013, 16:49 Да нет. Просто когда просят ручку и дают ручку - это понятно и просто :)
А когда вместо ручки дают чернильницу и перо, это уже мне непонятно. (скажем так избыточная сложность) PS а так конечно альтернативы это хорошо. |