Строка + переменная как? - PullRequest
0 голосов
/ 22 июля 2011

Я новичок в изучении Qt / C ++, и у меня возникла ошибка: я хотел узнать, как можно поместить переменную в этом случае "username" рядом со строкой в ​​строках ниже.

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

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

Так как это сделать, или я должен использовать другую функцию?чем msgBox.setText ()

Ответы [ 5 ]

10 голосов
/ 22 июля 2011

Хороший способ Qt:

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

Для получения дополнительной информации см. QString :: arg

5 голосов
/ 22 июля 2011

Если вам нужна поддержка перевода:

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

Если вы объедините, тогда все языки должны будут использовать одну и ту же семантику предложений, и хорошо ... они не могут.

3 голосов
/ 22 июля 2011
msgBox.setText("Your username is: "+VARIABLEHERE);
1 голос
/ 22 июля 2011

я думаю + должен помочь: msgBox.setText("Your username is: " + username );

0 голосов
/ 07 апреля 2017

Связанный: Когда вы отлаживаете с помощью "std :: cout", он работает так с QStrings:

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

В противном случае компилятор скажет вам, что "<<" неоднозначно. </p>

...