String和QString之间的转化
数据结构课程设计中,用Qt玩图形化,经常因为QString和string的转化出现问题,而出现一些莫名其妙的错误。
垃圾百度找了半天没有解决方案,多亏了成都-贱贱O_o哒大神的相助。(适用于QT5)
QString qstr;
string str;
str = qstr.toStdString();
qstr = QString::fromStdString(str);
- 1
- 2
- 3
- 4
- 5
虽然成功转化了,但是会出现乱码。
转化与乱码处理
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);