¿Hay una QString
función que toma un int y lo genera como a QString
?
c++
qt
type-conversion
Ahmad
fuente
fuente
Y si desea ponerlo en cadena dentro de algún contexto de texto, olvídese del
+
operador. Simplemente haz:fuente
+
operador, tenga cuidado con los enteros, ya que podría funcionar bien pero internamente,operator+(const QString &s, char c)
se llama a la implementación y la cadena no contendrá el entero como número, sino suQChar::fromAscii(c)
equivalenteAdemás para convertir lo que quieras, puedes usarlo
QVariant
. Para unint
a aQString
obtienes:A
float
a astring
ostring
a afloat
:fuente
QVariant
rulez!Otra opción es usar QTextStream y el
<<
operador de la misma manera que lo haríacout
en C ++:Debido a que el operador
<<()
se ha sobrecargado, puede usarlo para varios tipos, no soloint
.QString::arg()
está sobrecargado, por ejemploarg(int a1, int a2)
, pero no lo hayarg(int a1, QString a2)
, por lo que usarQTextStream()
y operator<<
es conveniente al formatear cadenas más largas con tipos mixtos.Precaución: es posible que sienta la tentación de utilizar la función
sprintf()
para imitar lasprintf()
declaraciones de estilo C , pero se recomienda usarlasQTextStream
oarg()
porque son compatibles con Unicodestring
.fuente
Yo siempre uso
QString::setNum()
.setNum()
está sobrecargado de muchas maneras. VerQString
referencia de clase.fuente
En su forma más simple, use la respuesta de Georg Fritzsche
Para un poco avanzado, puedes usar esto,
Obtenga la documentación y un ejemplo aquí .
fuente
Solo para completar, puede usar la biblioteca estándar y hacer
QString qstr = QString::fromStdString(std::to_string(42));
fuente
Si necesita un formato de número compatible con la configuración regional, use QLocale :: toString en su lugar.
fuente