Название: QButtonGroup Отправлено: Ovoshlook от Август 04, 2010, 05:51 Возник вопрос по данному контейнеру.
Я закинул в него несколько RadioButton (3 штуки). У ButtonGroup есть 2 метода (сигнала): buttonClicked ( int )- с этим я разобрался. Здесь работает id кнопки, который присваивается при добавлении кнопки к ButtonGroup buttonClicked ( QAbstractButton * ) -а вот с этим мне непонятно ничего. Что должно быть в скобках? Просто задался вопросом из следующих побуждений: Уменя есть код в котором 3 RadioButton. Посдле того как один из них я чекаю у меня должна активироваться кнопка, которая ранее была недоступна. Конечно есть способ прописать connect для каждой кнопки (скажем вот так): connect (ScndType, SIGNAL (clicked()), this, SLOT (ChangeEnable())); connect (ThrdType, SIGNAL (clicked()), this, SLOT (ChangeEnable())); connect (FrthType, SIGNAL (clicked()), this, SLOT (ChangeEnable())); но я так понимаю что есть способ сделать это более грамотно через контейнер. Собственно я добавил кнопки в контейнер QButtonGroup и прописал следующий connect( предыдущие естественно я закоментил): connect (TypeGroup, SIGNAL (buttonClicked()), this, SLOT (ChangeEnable())); //connect (ScndType, SIGNAL (clicked()), this, SLOT (ChangeEnable())); //connect (ThrdType, SIGNAL (clicked()), this, SLOT (ChangeEnable())); //connect (FrthType, SIGNAL (clicked()), this, SLOT (ChangeEnable())); Но при вызове слота у меня ничего не работает, а в консоли приложение мне пишется : Object::connect: No such signal QButtonGroup::buttonClicked(). Не понимаю что не так с сигналом buttonClicked(). Как я понимаю он должен вызываться, если любая из кнопок была чекенута. Если нет то подскажите как правильно сделать. Уже весь ассистант перерыл... Заранее спасибо. Название: Re: QButtonGroup Отправлено: Пантер от Август 04, 2010, 06:39 buttonClicked ( QAbstractButton * ) возвращает тебе указатель на чекнутую кнопку. Коннектишь ты неверно, нужно вот так:
Код Или так: Код
Название: Re: QButtonGroup Отправлено: Ovoshlook от Август 05, 2010, 18:39 о) Спасибо!!) Все понял)
|