Ответы:
Используйте QString::number():
int i = 42;
QString s = QString::number(i);
И если вы хотите поместить его в строку в некотором текстовом контексте, забудьте об +операторе. Просто сделайте:
// Qt 5 + C++11
auto i = 13;
auto printable = QStringLiteral("My magic number is %1. That's all!").arg(i);
// Qt 5
int i = 13;
QString printable = QStringLiteral("My magic number is %1. That's all!").arg(i);
// Qt 4
int i = 13;
QString printable = QString::fromLatin1("My magic number is %1. That's all!").arg(i);
+оператор, будьте внимательны с целыми числами, поскольку он может очень хорошо работать, но внутренне operator+(const QString &s, char c)вызывается реализация, и строка не будет содержать целое число как число, но его QChar::fromAscii(c)эквивалент
Более того, чтобы конвертировать все, что вы хотите, вы можете использовать QVariant. Для того , intчтобы QStringвы получите:
QVariant(3).toString();
А floatк а stringили а stringк float:
QVariant(3.2).toString();
QVariant("5.2").toFloat();
QVariantрулез!
Еще один вариант заключается в использовании QTextStream и <<оператор во многом так же, как вы использовали бы coutв C ++:
QPoint point(5,1);
QString str;
QTextStream(&str) << "Mouse click: (" << point.x() << ", " << point.y() << ").";
// OUTPUT:
// Mouse click: (5, 1).
Поскольку оператор <<()был перегружен, вы можете использовать его для нескольких типов, а не только int. QString::arg()перегружен, напримерarg(int a1, int a2) , но нет arg(int a1, QString a2), поэтому использование QTextStream()оператора and <<удобно при форматировании длинных строк со смешанными типами.
Предостережение: у вас может возникнуть соблазн использовать sprintf()средство для имитации printf()операторов в стиле C , но это рекомендуется использовать QTextStreamили arg()потому, что они поддерживают Unicode string.
В простейшей форме воспользуйтесь ответом Георга Фрицше
Для немного продвинутых, вы можете использовать это,
QString QString::arg ( int a, int fieldWidth = 0, int base = 10, const QChar & fillChar = QLatin1Char( ' ' ) ) const
Получить документацию и пример здесь ..