2010-12-02 27 views

Respuesta

66

Hay una función llamada QStringfromUtf8 que toma un const char*:

QString str = QString::fromUtf8(content.c_str()); 
+0

Ah, lo pasé por alto. ¡Gracias! –

+14

Más eficiente: 'QString :: fromUtf8 (content.data(), content.size())' –

47

QString::fromStdString(content) funciona bien también. Debería dar exactamente el mismo resultado que devuelve fromUtf8(content.data(), int(content.size())).

+2

Solo en Qt5. En Qt4 usa QString :: fromAscii. –

4

Por lo general, la mejor manera de realizar la conversión es usar el método fromUtf8, pero el problema es cuando tienes cadenas dependientes de la configuración regional.

En estos casos, es preferible usar fromLocal8Bit. Ejemplo:

std::string str = "ëxample"; 
QString qs = QString::fromLocal8Bit(str.c_str()); 
Cuestiones relacionadas