2011-07-02 5 views
2

저는 사용자가 여러 QLineEdits에 정보를 입력하는 QT 애플리케이션을 개발 중입니다. 그런 다음 제출 버튼을 클릭합니다. QMessageBox가 정보를 확인 (OK)하거나 취소할지 묻는 것처럼 보이게하고 싶습니다. 메시지 상자에 입력 한 정보가 표시되어 정확한지 확인할 수 있습니다. 지금까지 내 코드는 다음과 같습니다.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

[조금 논외] 갖는 "확인/취소"이를 위해, 당신은 단지, 번역 오류가 발생하는 것이 아마, 그리고 &는 구문 오류입니다 인수로 문자열을 전달해야 확인을위한 대화 상자는 일반적으로 나쁜 디자인입니다. 더 적절한 해결책은 실행 취소입니다. 당신은 정상적인 흐름을 방해하고 싶지 않습니다. 게다가, 사람들은 어쨌든 (잘 알려진 사실) 읽지 않고 OK를 눌렀으므로 어쨌든 대화에 아무런 이점도 없습니다. – MSalters

답변

3

read a proper book on C++이어야합니다.

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

감사! 그게 나를 위해 대답. 나는 그것이 내가하고있는 바보 같은 짓임을 알았다. 내가 말했듯이, 저는 C++을 처음 접했습니다. 다시 한번 감사드립니다. – Dylan

관련 문제