2017-03-30 14 views
0

私はQtを初めて使い、QGroupBoxとQRadioButtonsの束(正確には32)からなる単純なUIを作成しました。選択したものを探したいと思っています。私はフォーラムやものを見てきましたが、私が見つけた答えはうまくいかず、1つはQGroupBoxの存在しないメソッドに関するドキュメントを参照しました。下のスニペットがあれば、選択したQRadioButtonがあれば、どうすれば見つけられますか?Qt 5 QGroupBox選択されたラジオボタンを見つけよう

QGroupBox* thingGroup = ui->thingGroupBox; 

ありがとうございました。

+0

はあなたが選択したときにそれを取得したい、または任意でください時間? – eyllanesc

答えて

1

トグル信号を使用すると、その信号を使用してスロットを接続し、sender()関数を使用してQRadioButtonに変換することができます。

* .hの

public slots: 
    void onToggled(bool checked); 

* .cppファイル

QGroupBox *thingGroup = ui->groupBox; 

QVBoxLayout *lay = new QVBoxLayout; 

thingGroup->setLayout(lay); 

for(int i = 0; i < 32; i++){ 
    QRadioButton *radioButton = new QRadioButton(QString::number(i)); 
    lay->addWidget(radioButton); 
    connect(radioButton, &QRadioButton::toggled, this, &{your Class}::onToggled); 
} 

スロット:

void {your Class}::onToggled(bool checked) 
{ 
    if(checked){ 
     //btn is Checked 
     QRadioButton *btn = static_cast<QRadioButton *>(sender()); 
    } 

} 
+0

これには唯一の問題があります。私は32個のラジオボタンを持っているので、同じ行を32回コピー&ペーストする必要があります。クライアントが「次へ」ボタンを押すと、適切なラジオボタンを取得するだけです。 – Tobsta

+0

QRadioButtonsの作成方法のコードを表示し、それをQGroupBoxに追加することができます – eyllanesc

+0

個々のラジオボタンをバイパスするより効率的な方法がありますか? – Tobsta

関連する問題