Могу ли я снять галочку с группы RadioBottom внутри группового поля? - PullRequest
3 голосов
/ 12 мая 2010

радио днища внутри групповой коробки будут рассматриваться как группа оснований. Они взаимоисключающие. Как я могу очистить их состояния проверки ??

У меня есть несколько радиоприемников, одно из которых проверено. Как я могу "очистить" (снять флажок) все днища радио? "setChecked" не работает в группе, я пытался выполнить следующие действия, но не смог.

Мой код выглядит следующим образом: radioButtom находится внутри groupBox, и я хочу снять его. Первый setChecked работает, но второй нет, radioBott не отключен

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    QRadioButton *radioButton;
    ui->setupUi(this);
    radioButton->setChecked(true);
    radioButton->setChecked(false);
}

Где проблема в моем коде?

Ответы [ 2 ]

4 голосов
/ 12 мая 2010

Хитрость заключается в том, чтобы отключить свойство autoExclusive, прежде чем снимать его, а затем снова включить.

ui->radioButton->setChecked(true);
ui->radioButton->setAutoExclusive(false);
ui->radioButton->setChecked(false);
ui->radioButton->setAutoExclusive(true);

После этого кнопка радио выключается.

1 голос
/ 12 мая 2010

В документации Qt сказано: QRadioButton - это кнопка опции, которую можно включать (проверять) или выключать (не проверять). Переключатели обычно предоставляют пользователю выбор «один из многих». В группе радиокнопок можно проверить только одну радиокнопку за раз; если пользователь выбирает другую кнопку, ранее выбранная кнопка выключается. AFAIK Я думаю, что вы не сможете отметить все QRadioButtons.

В своей практике я никогда не видел, чтобы все QRadioButtons сразу отмечались в одном диалоговом окне. Но, может быть, я ошибся.

Как решение с моей стороны, я могу предложить вам создать еще одну QRadioButton, а затем скрыть ее, поэтому, когда вам нужно скрыть все QRadioButton в одном виджете, вы можете просто установитьChecked ) на скрытом.

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...