全てのラジオボタンがチェックされたら「次へ」ボタンをアクティブにする。
Button1_OnとButton1_Offは同じグループ
Button2_OnとButton2_Offは同じグループ。
Button1とButton2がチェックされたら、「次へ」ボタンがアクティブになる。
環境:QT5.5
ヘッダー
1 2 3 | private slots: void CheckRadioButton(bool bFlat); |
コード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | //=========================================================== // コンストラクタ //=========================================================== ClassA::ClassA(QWidget *parent) : QMainWindow(parent), ui(new Ui::ClassA) { QObject::connect(ui->Button1_On, SIGNAL(clicked(bool)), this, SLOT(CheckRadioButton(bool))); QObject::connect(ui->Button1_Off, SIGNAL(clicked(bool)), this, SLOT(CheckRadioButton(bool))); QObject::connect(ui->Button2_On, SIGNAL(clicked(bool)), this, SLOT(CheckRadioButton(bool))); QObject::connect(ui->Button2_Off, SIGNAL(clicked(bool)), this, SLOT(CheckRadioButton(bool))); } //=========================================================== // インストール選択画面のラジオボタンチェック Signal&Connect //=========================================================== void ClassA::CheckRadioButton(bool bFlag) { bool flag1, flag2; // チェックされたラジオボタンによりフラグをセット if ( QObject::sender() == ui->Button1_On || QObject::sender() == ui->Button1_Off ) { flag1 = true; } else if ( QObject::sender() == ui->Button2_On || QObject::sender() == ui->Button2_Off ) { flag2 = true; } // ラジオボタンがチェックされていたら次へボタンを表示 if ( flag1 == true && flag2 == true ) { ui->NextButton->setEnabled(true ); } return; } |
コメント