0

私の問題はそのように見えます。ダイアログウィンドウが表示され、チェックされたラジオボタンから結果を取得する方法を知っていますが、このウィンドウでのみです。結果を別のウィンドウ(メインウィンドウ)に取り込む方法。

button(Pobierz)はメインウィンドウにあり、このボタンの近くにはlineedit2があり、チェックされたラジオボタンから結果を取得したいのですが、方法がわかりません。この新しいダイアログウィンドウとその取得結果でラインエディットを作成しましたが、この結果をメインウィンドウに取り込む方法がわかりません。私が十分に説明することを願っています。助けてくれてありがとう。

void Pobierz::on_pushButton_clicked() 
{ 
if(ui->radioButton1->isChecked())
{
ui->lineEdit->setText("K");
}

if(ui->radioButton2->isChecked())  
{
ui->lineEdit->setText("S");
}    

if(ui->radioButton3->isChecked())    
{
ui->lineEdit->setText("I");
} 
}

トム、ご挨拶。up1いくつかの方法を試しましたが、それでも解決できません。

4

2 に答える 2

0

ダイアログのクラスで、QString を渡すシグナルを宣言します。また、accept 関数をオーバーライドします (まだ行っていない場合)。accept 関数では、ラジオ ボタンに従って適切な文字列で信号を送信します。(自分で親の受け入れ関数を呼び出すことを忘れないでください)。

メイン ウィンドウのクラスで、ダイアログを作成するときに、ダイアログからのシグナルを、メイン ウィンドウの行編集でテキストを設定するスロットに接続します。ダイアログが受け入れられると、シグナルが発生し、メイン ダイアログのスロットが実行され、適切なテキストが行編集に追加されます。

于 2011-05-03T19:06:42.010 に答える
0

ダイアログ ウィンドウからラジオ ボタンのステータスを取得するスロットをメイン ウィンドウに作成します。このスロットでは、ダイアログ ウィンドウのラジオ ボタンのチェック状態の結果に基づいて、メイン ウィンドウの行編集を設定します。

ダイアログ ウィンドウにラジオ ボタンを作成するときに、ラジオ ボタンのclicked信号を、前に定義したメイン ウィンドウのスロットに接続します。

于 2011-05-03T09:23:38.397 に答える