String和QString之间的转化
经常因为QString和string的转化出现问题,而出现一些莫名其妙的错误。 (适用于QT5)
QString qstr;
string str;
str = qstr.toStdString();
qstr = QString::fromStdString(str);
虽然成功转化了,但是会出现乱码。
转化与乱码处理
std::string cstr;
QString qstring;
//从std::string 到QString
qstring = QString(QString::fromLocal8Bit(cstr.c_str()));
//从QString 到 std::string
cstr = string((const char *)qstring.toLocal8Bit());
//不需要从gbk转到utf8
QString value_content = QString::fromStdString(vec[i].content);
QString value_classname = QString::fromStdString(vec[i].classname);