2010-05-12 5 views
3

그룹 내의 라디오 하단은 하위 그룹으로 처리됩니다. 그들은 상호 배타적입니다. 어떻게 그들의 수표 상태를 정리할 수 있습니까 ??그룹 상자 내에서 RadioBottoms 그룹의 선택을 취소 할 수 있습니까?

나는 몇 개의 라디오 하의를 가지고 있는데, 그 중 하나가 확인됩니다. 모든 라디오 바닥을 "청소"(선택 취소) 할 수 있습니까 ?? "setChecked"가 그룹 내에서 작동하지 않습니다. 다음 작업을 시도했지만 실패했습니다.

내 코드는 radioButtom이 groupBox 안에 있으며 선택을 취소하고 싶습니다. 첫 번째 setChecked이 작업을 수행하지만, 두 번째는의 radioBottom이 체크되지 않습니다하지 않는 내 코드에서 문제가

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

?

답변

4

트릭은 autoExclusive 속성을 선택 취소하기 전에 해제 한 다음 다시 사용하도록 설정하는 것입니다.

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

이 후에는 radioButton이 선택되지 않습니다.

+0

당신이 옳다. 훌륭하다. – Naruto

+0

나는이 문제를 한 번 겪은 것을 기억하고있다. –

+0

감사 : D : D !! 그것은 내 문제를 해결했다. –

1

Qt 설명서에서 다음과 같이 말합니다. QRadioButton은 켜기 (선택) 또는 선택 해제 (선택 취소) 할 수있는 옵션 버튼입니다. 라디오 버튼은 일반적으로 사용자에게 "많은 중 하나"를 선택하게합니다. 라디오 버튼 그룹에서 한 번에 하나의 라디오 버튼 만 확인할 수 있습니다. 사용자가 다른 버튼을 선택하면, 이전에 선택된 버튼은 스위치 오프된다. AFAIK 모든 QRadioButtons를 체크 할 수 없을 것이라고 생각합니다.

필자의 경우, 한 번에 하나의 대화 상자/창에서 QRadioButtons를 한꺼번에 체크 아웃하는 것을 본 적이 없습니다. 하지만 내가 잘못했을 수도 있습니다. 당신은 하나의 위젯에 숨기기 모든 QRadioButton에 필요한 경우에, 당신은 단지 (참) setChecked 수, 내 옆에서 솔루션으로

, 나는 하나의 추가 QRadioButton를 만들 수 제공 할 수 있으며, 다음을 숨기기 때문에, 숨겨진 사람.

행운을 빈다.

+0

감사합니다. 더 명확하고 편리하게 UI를 조정하는 방법에 대해 계속 생각하고 있습니다. 이것은 좋은 방법일지도 모른다 ^^ –

관련 문제