Итерация по QButtonGroup::buttons приводит к сбоюC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Гость
 Итерация по QButtonGroup::buttons приводит к сбою

Сообщение Гость »


Это мое определение символа:

auto box1=новый QCheckBox; box1->setText("выбор1"); auto box2 = новый QCheckBox; box2->setText("выбор2") Кнопка QPushButton* = новая QPushButton; Connect(button,&QPushButton::clicked,this,&Widget::onClicked); автоматическая группа = новая QButtonGroup; группа->setExclusive(ложь); группа->addButton(box1); группа->addButton(box2); void Widget::onClicked() { std::for_each(group->buttons().begin(),group->buttons().end(),[](QAbstractButton* button){ кнопка->setChecked(!button->isChecked()); }); /* QList button=group->buttons(); std::for_each(buttons.begin(),buttons.end(),[](кнопка QAbstract*){ кнопка->setChecked(!button->isChecked()); }); */ } Вызов buttons() вернет QList.

Я пытался использовать слот onClicked, чтобы перебирать список и что-то делать.

Если я добавлю незакомментированный участок кода, программа выйдет из строя. Я отладил его и обнаружил, что он зациклился три раза, но на самом деле было добавлено только два элемента, а третий цикл приведет к сбою программы.

А если я удалю закомментированный фрагмент кода, всё заработает.

Я хочу знать, почему первый способ написания, то есть код, который не закомментирован, вызовет ошибку.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»