3

3 つのラジオ ボタンとスピンボックスがあります。各ラジオボタンは、スピンボックスの値をそれぞれインチ、フィート、またはメートルに変更することになっています。どうすればいいですか?どのラジオボタンが最後にアクティブだったかを知る必要がありますよね? 誰かがサンプルコードを教えてくれませんか?

4

1 に答える 1

3

ラジオボタンとチェックボックスは、その状態を値として保持し、ユーザーに公開します。isChecked()を呼び出して、メンバー変数のラジオボタンの状態を知ることができます。何かのようなもの

void some_button_hit(bool checked)
{
    if (inches.isChecked()) {...}
    else if (feet.isChecked()) {...}
    else if (meters.isChecked()) {...}
}

そして、これらのいずれかから切り替えられたイベントを「ワイヤリング」します。これは通常、初期化、フォームエディタの使用、または接続を介して行われます。

フォームエディタを使用して、ラジオボタンを右クリックし、gotoスロットをたどります...エディタはイベントハンドラを構築して接続します。

void GroupBox::on_feet_toggled(bool checked)
{
    ui->label->setText("feet");
}
void GroupBox::on_inches_toggled(bool checked)
{
    ui->label->setText("inches");
}
void GroupBox::on_meters_toggled(bool checked)
{
    ui->label->setText("meters");
}
于 2012-06-10T20:25:15.860 に答える