Я новичок в Qt и создал простой пользовательский интерфейс, состоящий из QGroupBox
с кучей QRadioButtons
(32, если быть точным), и я хочу быть в состоянии найти выбранный.
Я смотрел на форумы и прочее, но ответы, которые я нашел, не работают, и одна ссылка на документацию по несуществующему методу QGroupBox
,
Учитывая приведенный ниже фрагмент, как я могу найти выбранное QRadioButton
если есть?
QGroupBox* thingGroup = ui->thingGroupBox;
Если вы хотите получить его при выборе одного из них, вы можете использовать сигнал с переключателем, подключить его к некоторому слоту и использовать функцию sender () и преобразовать его в QRadioButton.
*.час
public slots:
void onToggled(bool checked);
* .cpp
QGroupBox *thingGroup = ui->groupBox;
QVBoxLayout *lay = new QVBoxLayout;
thingGroup->setLayout(lay);
for(int i = 0; i < 32; i++){
QRadioButton *radioButton = new QRadioButton(QString::number(i));
lay->addWidget(radioButton);
connect(radioButton, &QRadioButton::toggled, this, &{your Class}::onToggled);
}
слот:
void {your Class}::onToggled(bool checked)
{
if(checked){
//btn is Checked
QRadioButton *btn = static_cast<QRadioButton *>(sender());
}
}
Других решений пока нет …