全てのラジオボタンがチェックされたら「次へ」ボタンをアクティブにする。
Button1_OnとButton1_Offは同じグループ
Button2_OnとButton2_Offは同じグループ。
Button1とButton2がチェックされたら、「次へ」ボタンがアクティブになる。
環境:QT5.5
ヘッダー
private slots:
void CheckRadioButton(bool bFlat);
コード
//===========================================================
// コンストラクタ
//===========================================================
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;
}
コメント