2011-07-21 157 views
0

我是一個初學者學習Qt/C++ ,我陷入了一個錯誤: 我想知道如何在這種情況下在下面的行中的字符串旁邊放置一個變量「username」。字符串+變量如何?

QString username = ui->lineEdit->text(); 

QMessageBox msgBox; 
msgBox.setText("Your username is: " VARIABLEHERE); 
msgBox.exec(); 

那麼如何排列它或我應該使用其他功能?比msgBox.setText()

回答

3
msgBox.setText("Your username is: "+VARIABLEHERE); 
+0

取決於'VARIABLEHERE'的類型。如果它是'const char *',那麼這將不起作用。 –

1

我覺得+應該有所幫助: msgBox.setText("Your username is: " + username);

10

的好處Qt的方式是:

msgBox.setText(QString("Your username is: %1").arg(VARIABLEHERE)); 

欲瞭解更多信息,請參閱QString::arg

+0

這一個工作,謝謝大家:) – ibanezz

+0

在這裏採取接受有用的答案:) – Raiv

4

如果你想翻譯支持:

msgBox.setText(tr("Your username is: %1").arg(VARIABLEHERE)); 

如果你連接,那麼所有的語言將不得不使用相同的句子語義,以及......他們不能。

0

相關: 當您調試使用「性病::法院」它的工作原理是這樣與將QString:

cout << any_qstring.toUtf8().constData() << number_variable << endl; 

否則,編譯器會告訴你,「< <」是不明確的。