2011-07-02 11 views
2

私はQTアプリケーションに取り組んでいます。ここでユーザーは情報をいくつかのQLineEditsに入力します。次に、[送信]ボタンをクリックします。私は彼らの情報(OK)またはキャンセルを確認したいかどうかを質問するQMessageBoxを表示するようにしたいと思います。メッセージボックスに入力した情報を表示して、正確かどうかを確認できるようにします。ここまでのコードはQStringをQMessageBoxに渡すことは可能ですか?

QString infoStr = (ui->lastEdit->text() + ", " + ui->firstEdit->text() + "\n" + ui->addressEdit->text() + "\n" + ui->cityEdit->text() + ", " + ui->stateBox->currentText() + " " + ui->zipEdit->text()); 


switch(QMessageBox::question(
          this, 
          tr("Confirm"), 
         tr(infoStr&), 

          QMessageBox::Ok | 
          QMessageBox::Cancel)) 
       { 
       case QMessageBox::Ok: 
        QMessageBox::information(this, "OK", "Confirmed"); 
        break; 
       case QMessageBox::Cancel: 
        //Cancel 
        break; 
       } 

QTとC++の新機能です。何か提案があれば幸いです。

+0

[ビットofftopic]確認のためのダイアログは一般的には悪い設計です。より適切な解決策は元に戻すことです。あなたは通常の流れを中断したくありません。しかも、とにかく読んでいなくても人々はOKを押すだけだから(確かに確立された事実)、とにかくダイアログには何のメリットもない。 – MSalters

答えて

3

read a proper book on C++です。このために、あなただけの引数として文字列を渡す必要があり、翻訳はあなたが起こるしたいものはおそらくないが、と&だけで構文エラーです:「OK /キャンセル」を有する

QMessageBox::question(
    this, tr("Confirm"), infoStr, QMessageBox::Ok | QMessageBox::Cancel 
); 
+0

ありがとう!それは私のためにそれに答える。私はそれが私がやっている愚かなものだと分かっていました。私が言ったように、私はC++を初めて使っています。再度、感謝します。 – Dylan

関連する問題