나는 예를 들어 4 개의 , rb2
, rb3
, rb4
을 가지고 있습니다. 또한하나의 QRadioButton을 여러 QButtonGroup으로 그룹화
rb1->setChecked(true);
rb3->setChecked(true);
, 내가 네 QButtonGroup
의이 : bg12
, bg34
, bg13
및 bg24
을하고, 처음 두 비 독점적 (그들은 기본적으로 있습니다)합니다
bg13->setExclusive(false);
bg24->setExclusive(false);
을 나는
rb1
과
rb3
체크 설정
첫 번째 경우 : bg12
에 rb1
및 rb2
을 추가하고 bg34
에 rb3
및 rb4
을 추가합니다. 그리드 레이아웃에 모든 버튼을 추가하고, 위젯과 그 모든 것들을 보여줍니다. 모든 것이 예상대로 작동합니다 (두 개의 버튼이 활성화되어 있고 한 행의 버튼은 다른 행을 제외합니다).
두 번째 경우 : 나는 bg34
에 rb1
및 rb2
bg12
, 그리고 rb3
및 rb4
를 추가합니다. 그런 다음 bg13
에 rb1
및 rb3
을 추가하고 bg24
에 rb2
및 rb4
을 추가합니다. 이제 예상대로 작동하지 않습니다. 모두«무료»버튼처럼 작동하며, 그 중 하나를 선택/선택 취소 할 수 있습니다. 그래서 내가 뭘 잘못하고 있니?
UPD : 나는 또한 QPushButton
의 (그래서, 아니 독점과 같은 물건)와 그것을 시도했습니다, 그리고 그것은 단지 버튼이 QButtonGroup
이미있는 경우처럼 보이는, 내가 또 다른 하나를 추가, 그것은 아무튼 더 이상 처음에 속하지 않습니다. (
나는 왜 이런 이상한 일을하는지 궁금해 할 것입니다. 나는 설명 할 것입니다. 나는 쌍의 벡터를 각각의 쌍으로 유지하고 싶습니다. (각 쌍의 버튼은 QRadioButton
입니다.) (두 개의 독점 상태를 나타냄) 쌍을 제외해야하므로 각 쌍의 단추를 QButtonGroup
(예 : bg12
및 bg34
)으로 그룹화하고 예를 들어 all 각 쌍의 첫 번째 버튼을 QButtonGroup
(예 : bg13
과 같이 비 독점적)로 지정하고 id를 지정합니다. 그래서, 나는 하나의 신호로 상태 변경을 처리 할 수있을 것이다. QButtonGroup
클래스는 우리에게 ID를 제공한다. 어쩌면 간단한 방법이 있을까요?
와우, QSignalMapper는 내가 필요한 것입니다. 고마워요! – karlicoss