QString 转换为 LPWSTR
QString str("test");
std::wstring wstr = str().toStdWString();
LPWSTR lpwstr = (LPWSTR)wstr.c_str();
LPWSTR 转换为 QString
QString str1 = QString::fromStdWString(lpwstr);
与 QString 与 LPWSTR 类型转换 用法相同,将LPWSTR改为LPCWSTR
QString str("High");
QByteArray ba = str.toLocal8Bit();
char *data = ba.data();
qDebug() << "data = " << data; // High
QByteArray ba1(data);
QString str1 = QString::fromLocal8Bit(ba1);
qDebug() << "str1 = " << str1; //High
QString 与 const char * 转换与上述相同,则改为 constData 。
LANGID 的类型是 USHORT,即 unsigned short,下面将十六进制字符串转换为 LANGID:
LANGID langid = QString("0x00000804").toUShort(&ok, 16); //2052
1、使用 tr() 翻译
2、fromLocal8Bit 函数
QString strCHN(QString::fromLocal8Bit("中文"));